1. 调用函数
#!/bin/bash
# test.sh
func() {
if [ $1 == "1" ]; then
echo "123"
fi
}
func 1 # 在脚本中直接调用函数
# ----如果是命令行---------
source test.sh # 或者 . test.sh
func 1
2. 数组传递(检查主机存活状态)
#!/bin/bash
# 以字符串的形式传参,调用的时候要加“”,否则是直接传了字符串进去
IP_LIST="192.168.18.1 192.168.1.1 192.168.18.2"
func (){
for IP in $1; do
FAIL_COUNT=0
for ((i=1;i<=3;i++)); do
if ping -c 1 $IP >/dev/null; then
echo "$IP Ping is successful."
break
else
let FAIL_COUNT++
fi done
if [ $FAIL_COUNT -eq 3 ]; then
echo "$IP Ping is failure!"
fi
done
}
func "$IP_LIST"
#!/bin/bash
# 如果要以数组的形式来表达IP_LIST 就不可以调用的时候再传参
# 经过测试 无论怎么传都不行 只能在函数中获取数组
IP_LIST=(192.168.18.1 192.168.1.1 192.168.18.2)
func (){
for IP in ${IP_LIST[*]}; do
FAIL_COUNT=0
for ((i=1;i<=3;i++)); do
if ping -c 1 $IP >/dev/null; then
echo "$IP Ping is successful."
break
else
let FAIL_COUNT++
fi done
if [ $FAIL_COUNT -eq 3 ]; then
echo "$IP Ping is failure!"
fi
done
}
func