2. return 命令
return 命令用于函数的内部,他的作用是终止当前函数的执行,不再执行函数中 return 后面的代码,返回到调用此函数的地方,同时返回一个状态值(0~255的值)。
命令格式
return [n]
命令说明
- return 后面不跟参数,则返回return 之前一条命令执行后的状态值(即
$?)。 - return 后跟参数必须是 0~255 之间的数来表示此函数的执行状态(如果 n 的值不在 0~255 之间,则求 n 对 256 求余数的值)
- return 命令返回的值可以在函数调用处用特殊变量
$?来获取。 - 当函数调用需要返回更多信息时,可以向标准输出打印字符串。在调用此函数的地方使用 命令替换 就可以获取此字符串了。
示例
测试 由参数的 return 命令的执行和返回值。
function myfunc() {
echo "函数开始"
return 20
echo "函数结束"
}
myfunc
echo "函数的返回值是 $?"
执行结果
函数开始
函数的返回值是 20
测试没有参数的 return 命令的执行和返回值。
function myfunc() {
echo "函数开始"
test 100 = 200
return
echo "函数结束"
}
myfunc
echo "函数的返回值是 $?"
执行结果
函数开始
函数的返回值是 1
使用 命令替换 返回字符串信息示例
function myadd() {
temp=`expr $1 + $2`
echo $temp
}
result=$(myadd 10000 20000)
echo $result
执行结果
30000
练习:
写一个 函数 is_prime 用来判断一个数是否是素数。此函数需要传入一个整数参数,如果此整数是素数则返回 0,否则返回 1。
素数也叫质数,是大于零的数字中只能被 1 和 自身 整数的正整数。如 2、3、5、7、11、13、17等。