1.for循环介绍
for variable in (list)
do
command
command
done
done其中,do 和 done之间的命令成为循环体,执行次数和list列表中常数或字符串的个数相同。当执行for循环时,首先将in 后 list 列表的第一个常数或字符串赋给循环变量,然后执行循环体;接着将list 列表中的第二个常数或字符串赋值给循环变量,再次执行循环体。这个过程将一直持续到list 列表中无其它常数或字符串,然后执行done命令后的命令序列。
1.检查某个网段是否可以ping通
#!/bin/bach
for ip in {1..254}
do
ping -c 2 -f 192.168.20.$ip >/dev/null
if [ $? -eq 0 ]
then
echo -e "\e[32;1m192.168.20.$ip 地址是通的\e[0m"
else
echo -e "\e[31;1m192.168.20.$ip 地址不通的\e[0m"
fi
done
if判断介绍:
If(如果) ...(符合某些条件) Then(就)
...(执行代码)
Else(反之)
...(执行其它代码)
fi (结束)
ping -c 到达指定次数 停止ping
ping -f 极限检测,快速连续ping一台主机,ping的速度达到100次每秒
首先Shell中判断两个数字大小的方式:
-gt(大于) -lt(小于) -eq(等于) -le(小于等于) -ge(大于等于)
判断两个字符串的方式:
>(大于) <(小于) ==(等于) >=(大于等于) <=(小于等于)
[root@oldboy62-0 /oldboy]# sh /oldboy/oldboy
192.168.20.1 地址不通的
192.168.20.2 地址不通的
192.168.20.3 地址是通的
192.168.20.4 地址是通的
192.168.20.5 地址不通的
192.168.20.6 地址不通的
192.168.20.7 地址不通的
192.168.20.8 地址不通的
192.168.20.9 地址不通的
192.168.20.10 地址不通的