目录
一、函数的定义
1:函数的作用
1:使用函数可以避免代码重复
2:使用函数可以将一个大的工程分割为若干小的功能模块,代码的可读性更强
2:定义函数的方法
1:格式一:
function 函数名 {
命令序列
}
2:格式二:
函数名(){
命令序列
}
##### main #####
#可以在主代码区域直接使用函数名调用函数
函数名
3:函数返回值return
1:定义:
return表示退出函数并返回一个退出值,脚本中可以$?变量显示该值
2:使用原则:
1:函数一结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码
2:退出状态码必须是0~255,超出时值将为除以256取余
3:示例
4:第二种方法echo命令
4:函数传参
5:函数变量的作用范围
1:函数在shell脚本中仅在当前shell环境有效
2:shell脚本中变量默认全局有效
3:将变量限定在函数内部使用local命令
示例
示例2:
6:函数的递归
6.1:定义
递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。所以递归要有两个基本要素,结束条件与递推关系
6.2:使用递归计算阶乘
示例:
5的阶乘为例:
#fact 5 $1=5 temp=4 result=$(fact 4) echo 5 * $(fact 4)
#fact 4 $1=4 temp=3 result=$(fact 3) echo 5 * 4*$(fact 3)
#fact 3 $1=3 temp=2 result=$(fact 2) echo 5 * 4 * 3*$(fact 2)
#fact 2 $1=2 temp=1 result=$(fact 1) echo 5 * 4 * 3 * 2*$(fact 1)
#fact 1 $1=1 echo 5 * 4 * 3 * 2 * 1
示例2:递归查找目录下的子目录和文件
7:函数库
创建一个函数库文件
在其他shell脚本中引用函数库
运行脚本
8:总结
定义函数的俩种方法
函数返回值俩种方法 return和echo
函数传参
函数的作用范围
阶乘 递归子目录
函数库
注意 全局变量 和局部变量 local