这篇文章我们来讲解一下:shell编程函数的定义
函数
1.完成特定功能的代码块
2.可以复用代码块
3.函数类似变量,先定义在调用,函数不调用不执行
在shell 编程中 函数有3中 定义方式:
fun1(){
echo "第一种函数定义方法"
}
function fun2 {
echo "第二种函数定义方法"
}
function fun3(){
echo "第三种函数定义方法"
}
调用的时候,直接写名字就可以:
fun1
fun2
fun3
比如我们定义一个 menu 的函数
menu(){
echo 我们把固定的一些内容放在函数中
}
调用函数直接 写 menu 就可以:
上案例:
[root@web00 day03]# cat os.sh
#!/bin/bash
menu(){
echo -e "\t\t\t\033[32m 1.显示内存 \033[0m"
echo -e "\t\t\t\033[32m 2.显示磁盘 \033[0m"
echo -e "\t\t\t\033[32m 3.显示负载 \033[0m"
echo -e "\t\t\t\033[32m 4.显示公网IP \033[0m"
echo -e "\t\t\t\033[32m 5.显示帮助 \033[0m"
echo -e "\t\t\t\033[32m 6.退出脚本 \033[0m"
}
menu
while true
do
read -p "请输入你要查看系统信息的编号: " num
case $num in
1)
free -h
;;
2)
df -h
;;
3)
uptime
;;
4)
curl -s cip.cc|awk 'NR==1'
;;
5)
menu
;;
6)
exit
;;
*)
echo "Usage: $0 [1|2|3|4|5]"
esac
done
2 函数传参
函数传参: 直接将参数写到调用名称后面
例如:
#!/bin/bash
file=$1
fun1(){
if [ -f $file ];then
echo "$file 文件存在"
else
echo "$file 文件不存在"
fi
}
fun1
3 函数变量的作用范围
函数中调用shell脚本中的变量
在函数中定义变量可以只在函数中生效 shell中不生效
平时工作中为了避免 不同函数定义的变量名 相同 而冲突,我们通常在函数中定义变量前 加上 local 关键词
这样这个变量的作用范围就是 本函数中了。
#!/bin/bash
fun1(){
local name=baimei
echo $name
}
fun1
fun2(){
local name=hehe
echo $name
}
fun2
echo $name
案例2:
[root@baimeidashu.com ~]#cat menu.sh
#!/bin/bash
menu(){
echo 1.包子
echo 2.王八
}
4. 函数的返回值 return
#!/bin/bash
fun1(){
if [ -f $1 ];then
return 50
else
return 100
fi
}
fun1 $1
re=$?
echo $re
shell编程函数调用
shell编程函数调用求和1到n
shell编程函数输入年份月份输出天数
shell函数式编程
shell编程-ne
shell编程常用命令
shell函数怎么写
shell编程实例详解
欢迎来撩 :shell 编程从0到1