一个shell的面试题

Posted tim1blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个shell的面试题相关的知识,希望对你有一定的参考价值。

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的面试题的主要内容,如果未能解决你的问题,请参考以下文章

Java工程师面试题,二级java刷题软件

shell编程面试必会30题

Java进阶之光!2021必看-Java高级面试题总结

经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!

Shell——面试题

shell脚本面试题