shell脚本基础知识梳理<十>:数组

数组定义
静态定义:array=(1 2 3)
动态定义:array=($(ls))
数组赋值:array[3]=4

打印数组
echo ${array[0]} 打印数组元素用${数组名[下标]} 下标是从0开始
echo ${array[]} 下标是或者@得到整个数组内容
echo ${#array[@]} 得到数组长度

批量检查多个网站地址是否正常

要求:shell数组方法实现,检测策略尽量模拟用户访问思路

http://www.wewe.org

http://www.tbibib.com

http://werrfd.com

http://192.168.0.7

脚本

#!/bin/bash
[ -f /etc/init.d/functions ]&& . /etc/init.d/functions
array=(
http://www.wewe.org
http://www.tbibib.com
http://werrfd.com
http://192.168.0.7
)

wait(){
echo -n "wait 3s"
for((i=0;i<=3;i++))
do
echo -n "."
sleep 1
done
echo
}
check_url(){
wget -T 5 -t 2 --spider $1 &>/dev/null
RETVAL=$?
if [ $RETVAL -eq 0 ];then
action "check $1" /bin/true
else
action "check $1" /bin/false
fi
return $RETVAL
}

main(){wait
for((i=0;i<${#array[@]};i++))
br/>wait
for((i=0;i<${#array[@]};i++))
check_url ${array[i]}
done
}
main