bash shell 用 return 命令从函数中返回一个值,以表示函数的退出状态:
[Bash shell] 纯文本查看 复制代码
#!/bin/bash
function ret {
read -p "Enter return value:" value
echo "doubling the value"
return $[ $value * 2 ]
}
ret
echo "The new value is $?"
运行输出:
$ sh return.sh
Enter return value:100
doubling the value
The new value is 200 但是用 return 返回数据时要注意返回值的取值范围是 0~256 .
再运行一下上面的脚本可看到:$ sh return.sh
Enter return value:129
doubling the value
The new value is 2 已经发生了回绕,即 129*2 - 256 = 2 。
如果希望返回更大的整数或字符串,可以使用下面的技巧:
[Bash shell] 纯文本查看 复制代码
#!/bin/bash
function ret {
read -p "Enter return value:" value
echo $[ $value * 2 ]
}
result=`ret`
echo "The new value is $result"
运行输出:$ sh return.sh
Enter return value:300
The new value is 600 需要注意的是,上面的 ret 函数要用 `` 号,而不是单引号括起来。另外,这个方法还可以返回浮点数和字符串,如:
[Bash shell] 纯文本查看 复制代码
#!/bin/bash
function ret {
echo "hello bash shell"
}
result=`ret`
echo "The new value is \"$result\""
运行输出:
$ sh return.sh
The new value is "hello bash shell" |