原题

扫描192.168.31.0/24网络中哪些主机在线,如果在线,用绿色显示在线,如果不在线,用红色显示不在线

思路

  • 首先需要循环升目标主机的IP地址,生成方法就是通过{ }或者seq生成1到255的数字,然后将数字和192.168.31进行字符串组合。
  • 然后用ping命令来判断这个ip是否可以ping的通,在平的时候需要-c1和-w1
  • 最后根据判断结果输出信息

shell源码

方法一:

#!/bin/bashstr="192.168.31."for num in {1..255}doip=${str}${num}if ping -c1 -w1 ${ip} &>/dev/null;then echo "$ip is online."else echo "$ip is offline"fidone

方法二:

#!/bin/bashstr="192.168.31."for num in {1..255}doip=${str}${num}ping -c1 -w1 ${ip} &>/dev/null
    num=$?if [ $num -eq 0 ];then echo "$ip is online."else echo "$ip is offline"fidone

总结

这个题目在运维面试的时候经常遇到,大家一定要多写几遍,切实写熟练。