函數在shell腳本編程中是很普遍和適用的,具有代碼重用的效果
1.函數的定義
①帶有function的關鍵字
function xx
{
command
......
}
②無function關鍵字
xx()
{
command
......
}
----------------{函數體中可以帶有返回狀態值: return N}
2.函數的調用
①無參數的調用
xx
②帶有參數的調用
xx 參數1 參數2....
腳本舉例子:
1.寫一個計算(函數傳遞參數)
#!/bin/bash
#
sum()
{
a=$1
b=$2
echo $[$a+$b]
}
sum $1 $2
2.寫一個腳本,判定192.168.0.200-192.168.0.254之間的主機哪些在線,要求:
1.使用函數來實現一台主機的判定過程
2.在主程序中來調用此函數判定指定范圍內的所有主機的在線情況
#!/bin/bash
#
function cc
{
ping -c 2 -t 1 $1 &>/dev/null
if [ $? -eq 0 ]
then
return 0
else
return 1
fi
}
for i in `seq 1 254`
do
cc 192.168.220.$i
if [ $? -eq 0 ]
then
echo "192.168.220.$i is online"
else
echo "192.168.220.$i is offline"
fi
done