shell脚本中的函数
- 将命令序列按照固定的表达格式写在一起
- 可以重复使用的一个命令序列
- 可以将大的工程分割成若干小块,依次执行,提高代码的可读性
- 脚本里使用的都是函数块
函数的格式:
function 函数名 {
命令序列
}
函数名 (){
命令序列
}
zhf () {
sum=$(($1+$2))
echo $sum
}
zhf $1 $2
返回值:return
在shell中return的范围只能是0-255
如果超出了0-255的范围,数字就会和256取余
返回值的作用就是用来判断后续代码是否继续执行
exit 0 执行完毕立即退出,后续代码不再执行
函数变量的作用范围:
在函数内部定义的变量就是全局变量,如果只要在内部执行变量,只能加local
函数的递归:
函数自己调用自己
阶乘
txt () {
for file in `ls $1`
do
if [ -d "$1/$file" ]
then
txt "$1/$file"
elif [[ $file == *.txt ]]
then
echo "$file"
fi
done
}
txt $1
函数库:
}
chengfa () {
result=$(($1*$2))
echo $result
}
chufa () {
result=$(($1/$2))
echo $result
}
yushu () {
result=$(($1%$2))
echo $result
}
调用函数库:
. /opt/hanshuku.sh
read -p "num1: " num1
read -p "num2: " num2
sum=`jiafa $num1 $num2`
jian=`jianfa $num1 $num2`
cheng=`chengfa $num1 $num2`
chu=`chufa $num1 $num2`
yu=`yushu $num1 $num2`
echo $sum
echo $jian
echo $cheng
echo $chu
echo $yu