首页 > 代码库 > ping命令脚本实现显示网络状态、学生姓名、学号

ping命令脚本实现显示网络状态、学生姓名、学号

#!/bin/bash
a=192.168.223.                                                                                               ####定义一个固定变量
h=(wanghao   xieyunshen 刘桃)                                                                                     ####定义数组
for d in {101..254}                                                                                          ####for循环,后面的in是条件即从多少循环到多少
do                                                                                                           ####for循环结构体
f=`expr $d - 100 `                                                                                           ####把d变量减去100,作为我们的学号
g=`expr $f - 1 `                                                                                             ####因为数组是从0开始,所以我们把学号减去1作为数组的标记
q=`printf %02d $f`                                                                                           ####让学号格式为两位数字
ping -c 1 $a$d >/dev/null  && echo "${h[$g]} 学号为  $q 通信正常" || echo "${h[$g]} 学号为$q 网络错误"           ####执行ping命令,后面的>/dev/null是一个垃圾桶文件,表示不在屏幕输出结果
done                                                                                                         ####for循环机构体
ping -c 1 $a$d >/dev/null  && echo "${h[$g]} 学号为  $q 通信正常" || echo "${h[$g]} 学号为$q 网络错误"         这一句中的&&和||都是运算符

&& 表示执行上一条成功后再执行&&之后的语句

|| 表示执行上一条失败后再执行||之后的语句


printf %02d 的意思就是这样,一种格式填充,%02d表示把整型数据打印最低两位,如果不足两位,用0补齐
[root@localhost shell]# i=1
[root@localhost shell]# printf %02d $i 01[root@localhost shell]# printf %03d $i 001[root@localhost shell]# printf %04d $i 0001[root@localhost shell]# printf %05d $i 00001[root@localhost shell]#

 测试一下脚本

技术分享



ping命令脚本实现显示网络状态、学生姓名、学号