使用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 和 主机号所对于的人名。
以上所述是小编给大家介绍的使用shell脚本实现ping对应IP所对应的人名,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
shell脚本编写ping包及arp的监控并发送短信功能
下面给大家分享shell脚本编写ping包及arp的监控并发送短信功能,具体代码如下所示: #!/bin/bash NOW="`date +%Y%m%d-%H:%M:%S`" PHONES=15134567893 IP=10.100.8.78 GATEWAY=10.100.30.1 #ping失误的短信内容 content1="host is failed" #arp主机网关失误的短信内容 content2="GW is failed" #pin
-
一个shell写的ping函数
复制代码 代码如下: #!/bin/bash#2013-01-06 14:00:00 wanggy exp#note:ping monitorset -u#set -xping_fun(){ d_network=192.168.1 echo -n "input the network(default $d_network):" read network : ${network:=$d_network} echo "network:$network
-
防止ARP攻击的shell代码
复制代码 代码如下: #!/bin/bashdeclare gw=`route -n | grep -e '^0.0.0.0'`declare gwname=`echo $gw | grep -oe '\w*$'`declare gwip=`echo $gw | grep -oe '[0-9]\{2,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'`declare gwmac=`arp -n | grep -e $gwip | grep -oe '[0
-
ping发现掉包报警的shell代码
复制代码 代码如下: #!/bin/bash PING=`which ping` DATE=`date +%Y%m%d%H%M` TAIL=`which tail` LOG=./ping$DATE.log HOSTS="selboo.com.cn 221.130.191.97" COUNT=200 for myHost in $HOSTS do count=$(ping -c $COUNT $myHost | grep 'loss' | awk -F',' '{ print $3 }'
-
使用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
-
Shell脚本实现检测某ip网络畅通情况(含短信报警功能)
花了1天的时间写了一个检测某ip是否网络畅通的脚本,只检测网络是否畅通的功能很容易实现,但加了一些限制功能却不好实现. 复制代码 代码如下: #!/bin/bash #################################################################################### #本脚本放于异机,使用定时任务检测192.168.10.231是否网络畅通,如果不通则发短信告警 #为防止频繁收到短信,对发送短信做了如下限制:
-
Shell脚本实现自动修改IP、主机名等功能分享
作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名.ip信息.网关等配置.修改成特定的主机名在维护和管理方面也比较方便.如下脚本用途为:修改ip和主机名等相关信息,可以根据实际需求修改,举一反三! 复制代码 代码如下: #!/bin/sh #auto Change ip netmask gateway scripts #wugk 2012-12-17 cat <<EOF +++++
-
Shell脚本实现防止国外ip访问服务器
客户的要求,不想让外国的ip来访问服务器,本来要让机房在上端路由解决,但是那些人不鸟你!!!~~~~ 这样的话,只能自己用iptables解决了~~~~~~~~~ 关于 ip库 大家可以去 http://www.ipdeny.com/ipblocks/ 下载, 这里有各个国家的~~~ 复制代码 代码如下: #下载ip库 #wget http://rfyiamcool.googlecode.com/files/allip.txt wget http://www.ipdeny.com/ipbl
-
Shell脚本实现自动修改IP地址
作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名.ip信息.网关等配置.修改成特定的主机名在维护和管理方面也比较方便.如下脚本用途为:修改ip和主机名等相关信息,可以根据实际需求修改,举一反三! #!/bin/sh #auto Change ip netmask gateway scripts #wugk 2012-12-17 cat << EOF ++++++++自动修改ip和主机名
-
Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP
#/usr/bin/env bash # Name: get_network_info.sh # Author: Purple_Grape # This is a script to gather network information of your Linux system. # Test under Ubuntu 10.04 only. #---------------------------- NIC=eth0 MAC=`LANG=C ifconfig $NIC | awk '/HWad
-
Linux Shell脚本中获取本机ip地址方法
方法一:ifconfig -a ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" 命令解析 ifconfig -a 和window下执行此命令一样道理,返回本机所有ip信息 grep inet 截取包含ip的行 grep -v 127.0.0.1 去掉本地指向的那行 grep -v inet6 去掉
-
Shell脚本中通过正则表达式匹配IP地址
在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址. shell和其它编程语言一样,也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]} 下面以ip="121.0.2.2"为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现): 复制代码 代码如下: #!/bin/bash ip="1
-
Linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消CDN加速和防护来测试下服务器的性能优化及安全防护. 前天写的Shell脚本是加入到crontab计划任务执行的,每5分钟执行一次,今天实际测试了下,可还是可以用的,但是感觉5分钟时间有点过长,无法做到严密防护.于是稍微改进了下代码,现在简单的分享下! 一.Shell代码 #
随机推荐
- seajs模块之间依赖的加载以及模块的执行
- AngularJS表格样式简单设置方法示例
- win2003服务器搭建DNS服务器配置图解教程(比较详细)
- linux生成(加载)动态库静态库和加载示例方法
- 基于jquery的浮动层效果代码
- Vue中如何实现轮播图的示例代码
- python连接MySQL、MongoDB、Redis、memcache等数据库的方法
- python杀死一个线程的方法
- 表格标签table深入了解
- JavaScript的Number对象的toString()方法
- SQL SERVER 删除重复内容行
- jquery操作cookie插件分享
- jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
- java abstract class interface之间的区别介绍
- 详解Android应用开发中Intent的作用及使用方法
- Android launcher中模拟按home键的实现
- java数组、泛型、集合在多态中的使用及对比
- PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
- Android笔记之:App列表之下拉刷新的使用
- Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法