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

时间:2021-01-22 16:20:14
#!/bin/bash

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

for  i  in {..}
do if ping -c 192.168.. $((${i}+)) >dev/null >&;then echo $((${i}+))"号"${a[${i}]}"在线" else echo $((${i}+))"号"${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  和 主机号所对于的人名。