使用return命令

使用return命令

Content #

return命令允许指定一个整数值作为函数的退出状态码:

$ cat test5
#!/bin/bash
# using the return command in a function

function dbl {
   read -p "Enter a value: " value
   echo "doubling the value"
   return $[ $value * 2 ]
}

dbl
echo "The new value is $?"
$

dbl函数会将\(value变量中用户输入的整数值翻倍,然后用return命令返回结果。脚本用\)?变量显示出该结果。

当用这种方法从函数中返回值时,一定要小心。为了避免出问题,牢记以下两个技巧。

  1. 函数执行一结束就立刻读取返回值。
  2. 退出状态码必须介于0~255。

如果在用\(?变量提取函数返回值之前执行了其他命令,那么函数的返回值会丢失。记住,\)?变量保存的是最后执行的那个命令的退出状态码。

第二个技巧界定了返回值的取值范围。由于退出状态码必须小于256,因此函数结果也必须为一个小于256的整数值。大于255的任何数值都会产生错误的值: $ ./test5 Enter a value: 200 doubling the value The new value is 1 $ 如果需要返回较大的整数值或字符串,就不能使用return方法。

From #

Linux命令行与shell脚本编程大全