#!/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补齐
[[email protected] shell]# i=1[[email protected] shell]# printf %02d $i 01[[email protected] shell]# printf %03d $i 001[[email protected] shell]# printf %04d $i 0001[[email protected] shell]# printf %05d $i 00001[[email protected] shell]#
测试一下脚本
时间: 2024-11-03 22:02:22