Shell函数

Shell函数的概述

函数的定义

就是将命令序列按格式写在一起,可方便重复使用命令序列
注:Shell函数是需要定义然后在调用

函数的作用

在编写Shell脚本的时候,经常会发现多个地方使用同一段代码,如果只是一小段代码,一般也无关紧要,但是要在脚本中多次重写大块代码的话就太累了,Shell中的函数就可以解决这个问题,可以将代码放进函数体封装起来,在需要的地方直接调用它就可以了,它可以提高脚本的可读性和重用性

函数的格式

Shell函数
函数的名称必须是唯一的,如重名了,相当于你重新定义了函数,会覆盖之前函数的内容

调用函数的方法

函数名 [参数1] [参数2]

暂停循环命令

break:退出整个循环
continue:退出本次循环
函数应用示例:
解析:
两个数字求和
通过sum(){}定义函数
使用read命令交互输入两个数并求和
函数写好了要调用它才起作用!
Shell函数
编写登录系统后便可使用的用户自定义函数(函数嵌套)
解析:
编辑用户自定义函数文件/root/function
在当前Shell中加载可执行的函数文件/root/function
在~/.bashrc文件中添加source /root/function命令
Shell函数

脚本文件

Shell函数

函数的作用范围

函数在Shell脚本中仅在当前Shell环境中有效
Shell脚本中变量默认全局有效
将变量限定在函数内部使用local命令

函数内部变量通过local来实现

通过定义myfun函数,在其内部设置局部变量i
函数内部和外部分别赋值,进行结果验证
Shell函数
全局变量
Shell函数

函数的参数

.参数的用法

函数名称 参数1 参数2 参数3 …

参数的表示方法

$1 $2 3....... 3 ....... 3.......{10} ${11} …

示例:
通过函数参数将日志信息写入文件
通过定义appendfile函数实现
Shell函数
Shell函数

递归函数

1.递归作用
调用自已本身的函数
2. 递归遍历目录
通过定义递归函数list_files来实现
Shell函数