return values from bash script return values from bash script linux linux

return values from bash script


Use command substitution to capture the output of echo, and use arithmetic expression to count the result:

script_a.bash:

echo $(( $1 * 5 ))

script_b.bash

a_value=$( script_a.bash 3 )


Don't use return or exit, as they're for indicating the success/failure of a script, not the output.

Write your script like this:

#!/bin/bashecho $(( $1 * 5 ))

Access the value:

a_value=$(./script_a.bash 3)

That is, use a $(command substitution) in the consuming code to capture the output of the script.


You can use exit rc;, but keep in mind that conventionally in *nix 0 is a successful result, any positive value is an error code. Is it an option to call

echo <your_value>;

and redirect output to the next binary called in the chain?