Shell 函数
Shell 函数
一、shell 函数的定义
- 将命令序列按格式写在一起
- 可方便重复使用命令序列
1、shell 函数格式
(1)格式一
function 函数名 {
命令序列
}
(2)格式二
函数名 () {
命令序列
}
二、函数返回值
1、概述
- return 表示退出函数并返回一个退出值,脚本中可以使用 $? 变量显示该值
2、使用远侧
(1)函数一结束就取返回值,因为 $? 变量只返回执行的最后一条命令的退出状态码
(2)退出状态码必须是 0~255,超出时值将为除以 256 取余
function sum {
read -p "请输入: " value
return $ [$value * 2]
}
sum
echo $?
sum2 () {
read -p "请输入: " value
echo $ [$value * 2]
}
result=`sum2`
echo $result
三、传参
sum() {
s=$[$1 + $2]
echo $s
}
first=$1
second=$2
sum $1 $2
四、函数变量的作用范围
- 函数在Shell脚本中仅在当前Shell环境中有效
- Shell脚本中变量默认全局有效
- 将变量限定在函数内部使用local命令
五、递归
- 函数调用自己本身的函数
1、阶乘
fact() {
if [ $1 -eq 1 ];then
echo 1
else
local temp=$[ $1 - 1 ]
local result=$( fact $temp )
echo $[ $1 * $result ]
fi
}
read -p "请输入一个阶乘的数字:" n
result=$( fact $n )
echo $n 的阶乘结果为 $result
2、递归查目录
六、函数库
- 把常用的函数放入一个单独的库脚本中,方便脚本在使用时,可直接调用这个库中的函数
1、先创建一个计算函数库
2、调用函数库