I have a do while loop where I am adding a variable to itself
while read line
do
let variable=$variable+$someOtherVariable
done
return $variable
When I echo the value of $variable I get no output ...
Is this the correct way to add some value back to the variable itself (i.e. i = i+j)
Also, in the context of bash scripting what is the scope in this case..
The problem is that the variable is not visible outside of the scope (the assignment is not propagated outside the loop).
The first way that comes to mind is to run the command in a subshell and forcing the loop to emit the variable:
variable=$(variable=0; while read line; do variable=$((variable+someOtherVariable)); done; echo $variable)
return
returns an "exit" code, a number, not what you are looking for. You should do an echo
.