linux - bash 函数未能给出返回值

标签 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。但它似乎仍然是“echo ”结果。如何修复我的功能?

最佳答案

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

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

然后将其用作:

x=$(sum 1 2)
echo $x

3

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

关于linux - bash 函数未能给出返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42946045/

相关文章:

regex - 如何从 Linux 终端使用正则表达式删除文件夹

android - 在 Linux 虚拟机中配置 Android Studio 和 SDK 时出错

linux - 如何使用正在运行的程序的 PID 获取实际的程序名称?

c - 我的 shell 中的命令 `ruby` 是 ruby​​ 的 REPL 吗?

linux - 从Linux中的数字获取上限整数(BASH)

Fortran 返回语句

python - 如何让 python 脚本在 10 秒后自行停止?

linux - 用于列出终端前台进程组中所有进程的 Bash 脚本

Java - 返回一个整数数组

java - Setter - 检查值