从bash脚本

时间:2017-11-08 10:13:12

标签: linux bash echo return-value

我想创建一个返回值的Bash文件。 意思是,脚本script_a.bash我有一定的计算,脚本script_b.bash会调用它。

script_a.bash:

return $1*5

script_b.bash:

a_value=./script_a.bash 3

当a_value为15时。

我对此有所了解,并发现没有"返回"在bash中,但是这样的事情可以在使用" echo"的函数中完成。我不想使用函数,我需要在多个地方使用通用脚本。

是否可以从其他脚本返回值?谢谢!

3 个答案:

答案 0 :(得分:4)

使用命令替换捕获echo的输出,并使用算术表达式计算结果:

script_a.bash:

echo $(( $1 * 5 ))

script_b.bash

a_value=$( script_a.bash 3 )

答案 1 :(得分:2)

请勿使用returnexit,因为他们指的是脚本的成功/失败,而不是输出。

像这样编写脚本:

#!/bin/bash

echo $(( $1 * 5 ))

访问值:

a_value=$(./script_a.bash 3)

也就是说,在使用代码中使用$(command substitution)来捕获脚本的输出。

答案 2 :(得分:0)

您可以使用exit rc;,但请记住,* nix 0中的常规结果是成功的结果,任何正值都是错误代码。 是否可以选择

echo <your_value>;

并将输出重定向到链中调用的下一个二进制文件?