函数语法格式
- 在shell环境中,将一些需要重复使用的操作,定义为公共的语句块,即可称为函数
func 函数名 {
命令序列
... ...
}
函数名(){
命令序列
... ...
}
函数传递参数
- 调用已定义的函数
- 格式:函数名
- 函数传值
- 格式:函数名 值1 值2 ... ...
- 传递的值作为函数的"位置参数"
imsg(){echo "1"}
imsg
1
msg(){
function> echo "hello world"
function> }
imsg
hello world
function msg { echo "1" }
msg
1
案例
- 加法器
- 传递参数计算两个数字之和
add(){
function> echo $[$1+$2]
function> }
add 1 2
3
add 8 10
18
- 输出颜色
#!/bin/bash
cecho(){
echo -e "\033[$1m$2\033[0m"
}
cecho 31 OK
cecho 32 OK
cecho 33 OK
cecho 34 OK
- 多进程版ping测试
#!/bin/bash
myping() {
ping -c -i0.2 -W1 $1 &>/dev/null
if [ $? -eq 0 ]; then
echo "$1 is up"
else
echo "$1 is down"
fi
}
for i in {1..254}
do
myping "191.168.4.$i" &
done
wait #使用&符号,将执行的函数放入后台执行,wait等待所有后台进程结束后退出脚本
小结
- 定义韩式
函数名(){
命令
}
- 调用函数
函数名
-案例
- 熟悉函数基本语法
- 编写加法器
- 输出颜色
- 编写多进程版本的ping脚本
网友评论