一起学习网 一起学习网


使用shell脚本实现ping对应IP所对应的人名(推荐)

网络编程 使用shell脚本实现ping对应IP所对应的人名(推荐) 06-21
#!/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所对应的人名,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

linux Shell脚本里面把一个数组传递到awk内部进行处理
前段时间和几位同事讨论过一个问题:Shell脚本里面怎样把一个数组传递到awk内部进行处理?当时没有找到方法。前两天在QQ群里讨论awk的时候,无意间

UNIX sh(Bourne Shell)脚本里面使用数组的两种方法
sh不像bash和ksh那样可以非常方便的定义和使用数组,但是可以通过其它方式来模拟数组。【方法1】通过set命令和位置参数来模拟数组#定义数组set'word1'wo

Shell使用Epoch进行日期时间转换和计算的几个小函数
核心代码当你遇到一个date命令不给力的系统时,可以试试这几个小函数。#日期转天数functiondate2days{echo"$*"|awk'{z=int((14-$2)/12);y=$1+4800-z;m=$2+12*z-3;j=int((153*m+


编辑:一起学习网

标签:数组,的人,循环体,脚本,算术