bash函数未能给出返回值

时间:2017-03-22 08:13:54

标签: linux bash return echo

$ function sum()
> {
> echo $1 $2;
> return $(($1+$2))
> }
$ sum 1 2
1 2
$ x=$(sum 1 2)
$ echo $x
1 2

我真的希望$ x为3.但似乎仍然是“回声”结果。如何修复我的功能?

1 个答案:

答案 0 :(得分:1)

请勿使用return。只需将总和回显为:

sum() { echo $(($1 + $2)); }

然后将其用作:

x=$(sum 1 2)
echo $x

3
调用函数后,使用return捕获函数的

$?(或退出)值。但是,建议不要使用return,因为在函数中只能返回0-255个整数值。