首页 > 代码库 > bash 函数返回值任意值

bash 函数返回值任意值


bash函数的返回值只能是一个数值,以0表示成功,非0表示失败。如果想在bash函数中返回除了数值之外的值,需要些技巧。

以返回一个字符串为例:

1. 通过全局变量var

1 function fun()2 {3     var="Hello world!"4 }5 6 fun7 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=$14     local  var="Hello world!"5     eval $__var="‘$var‘"6 }7  8 fun RET9 echo $RET

或者

1 function fun()2 {3     fun="Hello world!"4 }5  6 fun RET7 echo $RET

 

参考自:
1. http://blog.morebits.org/?p=83
2. http://www.linuxjournal.com/content/return-values-bash-functions