首页 > 系统服务 > 详细

一个shell的面试题

时间:2018-11-24 13:32:29      阅读:176      评论:0      收藏:0      [点我收藏+]
5.写一个脚本,实现判断192.168.1.024网络里,当前在线的D有哪些,能ping通则认为在线,在线输出"TP地址UP",不在线输出TP地址DOWN",无其他输出.(20分)

注:第五题是一个基本的shell脚本,考察的是输入一个ip 然后查看ip是否畅通,思路就是ping 这个ip 如果畅通 $?返回值为0 否则为不畅通。

5题 参考
#!/bin/bash
. /etc/init.d/functions
CMD="ping -c 2"
IP="10.0.0."
for n in {1..254}
do
  {
    $CMD ${IP}$n &> /dev/null
        if [ $? -eq 0 ]
          then
      action "${IP}$n is ok" /bin/true
        fi
  }&
done

 

6. (附加题)修改第五题中的脚本。将网络作为入参,增加对入参的合法性进行判断,入参举例: 192.168.1.024,如果正确,则正常输出结果,如果错误,则返回错误值51. (20分)
6题 参考
subnet=$1
if [[  "$subnet" =~ "([0-9]{1,3}.){3}([0-9]{1,3}/[0-9]+" ]]
#!/bin/bash
. /etc/init.d/functions
CMD="ping -c 2"
IP="10.0.0."
if [[  "$IP" =~ "([0-9]{1,3}.){3}([0-9]{1,3}/[0-9]+" ]];then
for n in {1..254}
do
  {
    $CMD ${IP}$n &> /dev/null
        if [ $? -eq 0 ]
          then
      action "${IP}$n is ok" /bin/true
        fi
  }&
done
else
return 51
fi

注:正则取XX.XX.XX.XX/XX格式,然后判断输出的信息是否匹配这个正则的格式,这个题应该是在第五题的基础上,加一个IP的判断,当时没想到,脑子发蒙,其实不难、

 

一个shell的面试题

原文:https://www.cnblogs.com/tim1blog/p/10011235.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!