码迷,mamicode.com
首页 > 系统相关 > 详细

一个shell的面试题

时间:2018-11-24 14:16:43      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:return   cti   init   在线   func   1.0   one   down   bin   

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的面试题

标签:return   cti   init   在线   func   1.0   one   down   bin   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!