从函数中返回
时间: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"

