函数
shell的函数
定义:将命令序列按照格式写在一起。格式指的是函数的固定格式。两种格式。
for i in {}
do
命令序列
done
if [ ]
then
命令序列
fi
作用:方便重复使用。函数库,集中在一起,随时可以传参调用。大的工程分割成若干个小的功能模块,提高代码的可读性。
函数的格式
fuction abc{
}
abc ( ) {
}
return的作用
return只能写在函数的内部,目的是从函数的内部获取一个返回值,用来判断是否继续执行下一个脚本。echo $? 这个时候不再是判断执行结果,只是一个内部的返回值。在用rerturn传返回码的时候,默认0是成功,非0都是失败。返回码可以自定义,范围0-255.
函数的传参方式以及函数变量的作用范围:
sum() {
sum=$(($1+$2))
echo $num
}
read -p "请输入第一个数" num1
read -p "请输入第二个数" num2
sum $num1 $num2
函数递归,
函数调用自己本身的函数
阶乘 4的阶乘 4 3 2 1=24 1=21 5 5 4 3 2 1 =120
用函数递归的方式来实现阶乘
jiecheng () {
if [ $1 -eq 1 ]
then
echo 1
else
local temp=$(($1-1))
local result=$(($jiecheng $temp))
echo "$(($1*$result))"
fi
}
read -p "输入一个数":num
result1=jiecheng $num
echo $result
函数库,函数库中包含定义的函数,由另外一个脚本传入参数来调用我们定义的函数。
jiafa(){
result=$(($1+$2))
echo $result
}
jianfa ( ) {
result=$(($1-$2))
echo $result
}
chengfa ( ) {
result=$(($1*$2))
echo $result
}
调用函数库