使用shell脚本实现ping对应IP所对应的人名

#!/bin/bash

a=(张三 李四 王五 赵六)

for  i  in {0..3}
do

if ping -c 1 192.168.1. $((${i}+1)) >dev/null 2>&1;then

 echo $((${i}+1))""${a[${i}]}"在线"

else

 echo $((${i}+1))""${a[${i}]}"离线"

fi

done

这串shell代码实现了ping 某个IP地址所对应的那个IP所使用的人名是否在线

这里面主要涉及到的知识点有  变量、数组、循环 、if判断、算术运算

 

在这里循环和if我不多讲!

主要是 变量、数组和算术运算的应用

首先我定义了一个数组变量分别是四个人的名称,然后定义了一个循环体循环体从0到3,也就是在下面应用时会对应数组中的 a[0]..a[3] 四个人的名字。

然后开始if判断,ping 192.168.1.0这个网段中所对应的序号1..4,分别对应不同的人 而由于在循环中的数是从0开始而ping网络地址需要从1开始 所以 这里就运用到了shell中的算术运算"$(())" 在其中我将循环体中是数都+1 所以 这样ping的时候其实就是ping 192.168.1.0+1 .. 192.168.1.3+1

下面的就简单了 就是显示 主机号 1..4  和 主机号所对于的人名。

posted @ 2016-11-30 09:53  张老司机  阅读(1409)  评论(0编辑  收藏  举报