写了个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

希望能帮助到小伙伴们~

分类:
后端
标签: