#!/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 和 主机号所对于的人名。
以上所述是小编给大家介绍的使用shell脚本实现ping对应IP所对应的人名,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:- 防止ARP攻击的shell代码
- 一个shell写的ping函数
- ping发现掉包报警的shell代码
- shell脚本编写ping包及arp的监控并发送短信功能