从函数中返回
时间:2019-04-16 23:59:05 来源:igfitidea点击:
在数学中,函数ƒ需要一个输入x,可以返回一个输出ƒ(x)。
在计算机中,shell函数名可以接受输入$1并将值(true或false)返回给脚本。
换句话说,您可以从函数中返回一个退出状态。
语法
return命令将使函数退出,返回值由N指定
return N
- 如果没有指定N,返回的状态是最后一个命令的状态。
- return命令将终止该函数。
- 当返回值是执行的最后一个命令的返回值时,return命令不是必须的。
示例
#!/bin/bash # 定义常量 declare -r TRUE=0 declare -r FALSE=1 is_root_user(){ # root的id是0 [ $(id -u) -eq 0 ] && return $TRUE || return $FALSE } is_root_user && echo "你可以运行这个脚本" || echo "需要root才能运行这个脚本"
从函数返回字符串
无法从函数返回一个字符串
但是,可以使用echo或printf命令将输出发送回给脚本。
#!/bin/bash domain="example.org" out="" function to_lower() { local str="$@" local output output=$(tr '[A-Z]' '[a-z]'<<<"${str}") echo $output } # 调用to_lower() to_lower "Hello World" # 调用to_lower()并将其结果存储为$out变量 out=$(to_lower ${domain}) # 显示$out的结果 echo "Domain : $out"