Shell函数
Shell函数的概述
函数的定义
就是将命令序列按格式写在一起,可方便重复使用命令序列
注:Shell函数是需要定义然后在调用
函数的作用
在编写Shell脚本的时候,经常会发现多个地方使用同一段代码,如果只是一小段代码,一般也无关紧要,但是要在脚本中多次重写大块代码的话就太累了,Shell中的函数就可以解决这个问题,可以将代码放进函数体封装起来,在需要的地方直接调用它就可以了,它可以提高脚本的可读性和重用性
函数的格式
函数的名称必须是唯一的,如重名了,相当于你重新定义了函数,会覆盖之前函数的内容
调用函数的方法
函数名 [参数1] [参数2]
暂停循环命令
break:退出整个循环
continue:退出本次循环
函数应用示例:
解析:
两个数字求和
通过sum(){}定义函数
使用read命令交互输入两个数并求和
函数写好了要调用它才起作用!
编写登录系统后便可使用的用户自定义函数(函数嵌套)
解析:
编辑用户自定义函数文件/root/function
在当前Shell中加载可执行的函数文件/root/function
在~/.bashrc文件中添加source /root/function命令
脚本文件
函数的作用范围
函数在Shell脚本中仅在当前Shell环境中有效
Shell脚本中变量默认全局有效
将变量限定在函数内部使用local命令
函数内部变量通过local来实现
通过定义myfun函数,在其内部设置局部变量i
函数内部和外部分别赋值,进行结果验证
全局变量
函数的参数
.参数的用法
函数名称 参数1 参数2 参数3 …
参数的表示方法
$1 $2 3....... 3 ....... 3.......{10} ${11} …
示例:
通过函数参数将日志信息写入文件
通过定义appendfile函数实现
递归函数
1.递归作用
调用自已本身的函数
2. 递归遍历目录
通过定义递归函数list_files来实现