zoukankan      html  css  js  c++  java
  • 一个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的判断,当时没想到,脑子发蒙,其实不难、

  • 相关阅读:
    ruby 中的respond_to (转)
    outlook最小化到托盘的设置方法
    FCKeditor 在VS2008下的用法
    暴风影音2009开机启动关闭方法
    构建自己的不可替代性
    MySQL安装1045错解决办法(绝对经典)
    如何学好C++,用好类库很重要
    转:什么是重构
    转:C++堆与栈的区别
    SQL Server 中的索引
  • 原文地址:https://www.cnblogs.com/tim1blog/p/10011235.html
Copyright © 2011-2022 走看看