一、概述
-
概念:
- 函数是一段完成特定功能的代码片段(块)
- 在shell中定义了函数,就可以使代码模块化,使于复用代码
- 注意函数必须先定义才可以使用。
-
重点:
- 传参 $1,$2
- 局部变量 local
- 返回值 return 即$?
二、定义函数
方法一:
- 函数名(){
- 函数要实现的功能代码
- }
-
方法二:
- function 函数名{
- 函数要实现的功能代码
- }
三、调用函数
语法:
- 函数名
- 函数名 参数1 参数2
四、示例
1、需求:通过shell脚本,编写系统工具箱 编写循环脚本,功能菜单
2、思路:
- 编写菜单和判断
- 添加循环
- 添加函数
3、演示 :
[root@192 ~]# vim sys.sh #脚本编写
#!/bin/bash
show_menu () {
cat << EOF
系统管理工具箱
1、磁盘信息管理工具
2、内存管理工具
3、CPU负载管理工具
4、查看帮助
5、退出
EOF
}
show_menu
while :
do
read -p "请输入你需要使用的工具序号[帮助请按4]:" numcase $num in
1)echo "==========磁盘信息=========="df -hTecho "==========磁盘信息==========";;
2)echo "==========内存信息=========="free -mecho "==========内存信息==========";;
3)echo "==========CPU负载信息=========="uptimeecho "==========CPU负载信息==========";;
4)show_menu;;
5)exit;;
esac
done[root@192 ~]# bash sys.sh #执行脚本
系统管理工具箱
1、磁盘信息管理工具
2、内存管理工具
3、CPU负载管理工具
4、查看帮助
5、退出
请输入你需要使用的工具序号[帮助请按4]:1
==========磁盘信息==========
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 14M 473M 3% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 6.2G 1.9G 4.4G 30% /
/dev/sda1 xfs 1014M 138M 877M 14% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
==========磁盘信息==========
请输入你需要使用的工具序号[帮助请按4]: