写了个shell函数
调用完之后不知道怎么获取返回值,于是乎想当然用上了$(func_name)来获取,然后踩了几个坑
查看教程之后发现要用$?来获取刚刚执行的函数的返回值,
function func1() {
echo 1
return 2
echo 3
}
res=$(func1)
echo $res
输出结果为 1,使用$()的方式获取不到返回值,只能拿到打印的内容
function func1() {
echo 1
return 2
echo 3
}
func1
echo $?
res=$?
echo $res
输出结果为
1
2
0
$? 在一次调用后便被回收了
再次调用无法获取函数的返回值 如何获取呢? 用变量接收即可 如
function func1() {
echo 1
return 2
echo 3
}
func1
res=$?
echo $res
echo $res
结果为
1
2
2
希望能帮助到小伙伴们~