提问者:小点点

bash函数未能给出返回值[重复]


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

我真的希望$x是3。但似乎仍然是“回显”结果。如何修复我的函数?


共1个答案

匿名用户

不要使用back。只需将总和回显为:

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

然后将其用作:

x=$(sum 1 2)
echo $x

3

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