有两种方式获取函数的返回值:
1. 在函数体中用echo语句,调用函数时用$(function_name param1 param2 ... )获取函数中所有echo连在一起的值。
这种方式可以一下返回多个函数值,方式就是在函数体内有多个echo语句,如下:
function test1()
{
echo "str1" # str1
echo "str2" #str2
}
res=$(test1)
echo res #输出 str1 str2
因为$()中可以执行linux 命令,而这里$()中的function_name param1 param2可以当成一条命令来看
2. 在函数体中用return返回值,调用函数后,用echo 获取return返回的值。这种情况下return返回的必须是数字,否则会报错
function test2()
{
a=1
b=2
c=$(($a+$b))
return $c
}
res=$(test2)
echo $? #输出3
function test3()
{
var=`echo abc`
return $var
}
res=$(test3)
echo $? #报错return: abc: numeric argument required