写了个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
输出结果为
$?
在一次调用后便被回收了
再次调用无法获取函数的返回值
如何获取呢?
用变量接收即可
function func1() {
echo 1
return 2
echo 3
func1
res=$?
echo $res
echo $res
希望能帮助到小伙伴们~