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

#!/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
shell ping 脚本、shell脚本ping多个ip、shell 脚本检测ping、shell脚本实例ping、批量ping shell脚本,以便于您获取更多的相关知识。

时间: 2024-09-04 20:54:08

使用shell脚本实现ping对应IP所对应的人名(推荐)_linux shell的相关文章

Shell脚本实现根据文件的修改时间来分类文件_linux shell

#!/bin/bash # exctute # ./mod.sh file_type input_folder output_folder # ./mod.sh *.txt /tmp /data/ # paramater count if [ ! $# -eq 3 ]; then echo "[ERROR] error paramater." exit fi # file type file_type="${1}" # input foloder if [ -d &

shell脚本中echo显示内容带颜色的实现方法_linux shell

shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: 复制代码 代码如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: 复制代码 代码如下: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注: 1.字背景颜色和文字颜色之间是英文的"" 2.文字颜色后面有个m 3.字符串前后可

Shell脚本实现把进程负载均衡到多核CPU中_linux shell

有时候,由于架构设计或其他业务本身特点原因,导致有些应用使用CPU很不均衡,所以业务处理集中在一个CPU上,而其它CPU闲得在睡觉.这里有个简单的优化方案实现将各个线程绑定到到多个CPU,从而实现性能的提高. 虽然CPU是一个不错的思路,但是不是杀手锏,其性能能提高多少依赖于各个线程的性能分布是否均匀:所以最好的办法是优化你的程序架构. 在这里分享一个Shell脚本(脚本名为bindcpu2p.sh),通过该脚本可将该进程均匀负载到各个CPU上. 复制代码 代码如下: #!/bin/sh pid

用shell脚本在mysql表中批量插入数据的方法_linux shell

很多时候需要在mysql表中插入大量测试数据,下面分享一个用shell脚本通过while循环批量生成mysql测试数据的方法,你只需要根据你自己的表结构来生成sql语句即可. 复制代码 代码如下: #!/bin/bash i=1;MAX_INSERT_ROW_COUNT=$1;while [ $i -le $MAX_INSERT_ROW_COUNT ]do    mysql -uroot -proot afs -e "insert into afs_test (name,age,createTi

Shell脚本中的位置变量参数(特殊字符)实例讲解_linux shell

$# : 传递到脚本的参数个数 $* : 以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过 9个 $$ : 脚本运行的当前进程 ID号 $! : 后台运行的最后一个进程的进程 ID号 $@ : 与$#相同,但是使用时加引号,并在引号中返回每个参数 $- : 显示shell使用的当前选项,与 set命令功能相同 $? : 显示最后命令的退出状态. 0表示没有错误,其他任何值表明有错误. 复制代码 代码如下: #!/bin/sh #param.sh # $0:文件完整路径名

shell脚本编程之for语句、if语句使用介绍_linux shell

上部: 面向过程:顺序执行选择执行: if, case循环执行: for, while, until 一.for语句   格式:     for 变量 in 列表;do        语句1;        语句2;        ...     done    例1.写一个脚本,添加10个用户,并让每个用户的密码同用户名] 复制代码 代码如下:        #!/bin/bash       for I in {1..10}; do          useradd user$I;     

shell脚本监控系统负载、CPU和内存使用情况_linux shell

在没有nagios监控软件的情况下,只要服务器能上互联网,就可通过发邮件的方式来提醒管理员系统负载与CPU占用的使用情况. 一.安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具)  1.下载安装:  http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0 复制代码 代码如下: # tar jxvf msmtp-1.4.16.tar.bz2

Shell脚本批量重命名文件后缀的3种实现_linux shell

今天突然间想起昨天有个问题还没动手实践下,就是利用shell批量修改文件的后缀,现在动手实践一下. 需求:家目录下有一些sql文件,想批量重命名成txt的 1.find + xargs +sed 复制代码 代码如下: find /root -name '*.sql' |xargs -i echo {}   {} |sed 's/sql/txt/2′  |xargs mv find /root/ -name '*.sql' |sed -e 's/\(.*\).sql$/mv & \1.txt/e'

Shell脚本中判断变量为数字的3种方法_linux shell

方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$?将是非0的值 复制代码 代码如下: expr $args + 0 &>/dev/null 方法2:打印变量通过sed替换的方式,将变量中的数字替换为空,如果执行替换后变量为空,则为整数 复制代码 代码如下: echo $args | sed 's/[0-9]//g' 如果判断负数则再用sed过滤负号 复制代码 代码如下: echo $args | sed 's/[0-9]//g' | sed 's/-/