标签:style class blog code http tar
bash函数的返回值只能是一个数值,以0表示成功,非0表示失败。如果想在bash函数中返回除了数值之外的值,需要些技巧。
以返回一个字符串为例:
1. 通过全局变量var
1 function fun() 2 { 3 var="Hello world!" 4 } 5 6 fun 7 echo $var
2. 利用子程序的标准输出
1 function fun() 2 { 3 local var="Hello world!" 4 echo "$var" 5 } 6 7 RET=$(fun) # or RET=`fun` 8 echo $RET
3. 通过引用返回函数值(暂未测试)
1 function fun() 2 { 3 local __var=$1 4 local var="Hello world!" 5 eval $__var="‘$var‘" 6 } 7 8 fun RET 9 echo $RET
或者
1 function fun() 2 { 3 fun="Hello world!" 4 } 5 6 fun RET 7 echo $RET
参考自:
1. http://blog.morebits.org/?p=83
2. http://www.linuxjournal.com/content/return-values-bash-functions
标签:style class blog code http tar
原文地址:http://www.cnblogs.com/tjm-1990/p/3808160.html