I want to edit a variable in do_compile()
task but I get the error "VAR: not found" when I try to modify the value.
A litte example of this:
MY_CUSTOM_VAR = "some_value"
do_configure() {
echo "Configuring with MY_CUSTOM_VAR=${MY_CUSTOM_VAR}"
MY_CUSTOM_VAR = "new_value"
echo "Modified MY_CUSTOM_VAR: ${MY_CUSTOM_VAR}"
}
Log data follows:
| DEBUG: Executing shell function do_configure
| Configuring with MY_CUSTOM_VAR=some_value
| /../run.do_configure.13840: 103: MY_CUSTOM_VAR: not found
...So echo
works but I can't assign a new value.
Can someone explain to me what is wrong?
The do_configure()
function is in shell, so the variable assignment must be done without spaces:
MY_CUSTOM_VAR="new_value"
Otherwise, the shell interpreter believes you are launching command MY_CUSTOM_VAR
with two parameters =
and "new_value"
.
Example, in a shell interpreter:
$ MY_CUSTOM_VAR = "new_value"
MY_CUSTOM_VAR: command not found
But the following works:
$ echo $MY_CUSTOM_VAR
$ MY_CUSTOM_VAR="new_value"
$ echo $MY_CUSTOM_VAR
new_value