Linux系统shell编程for条件循环语句

for循环语句允许脚本一次性读取多个信息,然后逐一对信息进行操作处理,有点类似于python里面for循环遍历的概念,当要处理的数据有范围时用for语句再合适不过了。语法结构为

for 变量名 in 取值列表  do 命令序列  done

下面博主讲一个实际的例子,使用if条件语句与for循环语句相结合,写一个自动读取主机列表,然后逐个测试主机是否在线

先创建一个文件,里面写入IP地址

 第二行 便利文件hujian文件里的数据,`反引号`把其中的命令执行后返回结果。

第四行 连续的ping文件里的地址。由于Linux系统ping命令会无限的ping下去,所以我们在这里要设置一下,-c通过参数来规定ping的次数,-i规定每个包数据发送的间隔,-W定义等待超时时间。

第五行,使用if语句来判断执行后的结果是否为0若为0则执行成功打印出“Host ip地址 is yes”若执行的结果为0则打印“host ip地址 is no "

后后面的代码应该就不用多讲了,字面意思。

#!/bin/bash
for ip in `cat ~/hujian`
do
ping -c 3 -i 0.2 -W 3 $ip
if [ $? -eq 0 ]
then
echo "Host $ip is yes"
else
echo "host $ip is no"
fi
done

猜你喜欢

转载自blog.csdn.net/HUJIANLAILE/article/details/105718673