shell编程练习002(20160227)

1.写一个脚本getinterface.sh,脚本可以接受参数(i,I,a),完成以下任务:
  (1)使用以下形式:getinterface.sh [-i interface|-I IP|-a]
  (2)当用户使用-i选项时,显示其指定网卡的IP地址;
  (3)当用户使用-I选项时,显示其后面的IP地址所属的网络接口;
  (4)当用户单独使用-a选项时,显示所有的网络接口及其IP地址(lo除外);


#! /bin/bash

function Print_Help()
{
        echo "getinterface.sh [-i interface | -I IP | -a]"
}

function Para_Check()
{
        local paranum=$1
        if ([ $paranum = '-a' ] || [ $paranum = '-i' ] || [ $paranum = '-I' ]);then
                echo "OK"
        else
                echo "ff"
                Print_Help
                exit
        fi
}
function List_Nic()
{
        echo `ifconfig  -a | grep -v "127" | grep -B 1 "inet " | awk '/eth/{print $1;next} /inet/{print $2}' | sed '{N;s/\n//g}'`
}


function Get_IP()
{
        if [ $1 == "-i" ];then
                echo `ifconfig $2 | grep "inet " | awk '{print $2}'`
        elif [ $1 == "-I" ];then
                echo `ifconfig -a | grep -B 1 $2 | grep "eth" | awk -F ":" '{print $1}'`
        else
                echo "end"
                Print_Help
        fi
}
function main()
{
        Para_Check $@
        Para=$@
        if [ $# -eq 1 ];then
                List_Nic
        elif [ $# -eq 2 ];then
                Get_IP $Para
        else
                Print_Help
        fi
}
main $@




执行情况如下
[root@LFG1000105234 ~]# ./getinterface.sh -a
OK
eth0:189.101.0.5 eth1:192.168.1.4 eth2:189.101.7.5 eth3:189.101.8.254 eth4:192.168.0.62 eth5:189.100.1.254 eth6:189.100.2.254
[root@LFG1000105234 ~]# ./getinterface.sh -i eth2
OK
189.101.7.5
[root@LFG1000105234 ~]# ./getinterface.sh -a
OK
eth0:189.101.0.5 eth1:192.168.1.4 eth2:189.101.7.5 eth3:189.101.8.254 eth4:192.168.0.62 eth5:189.100.1.254 eth6:189.100.2.254
[root@LFG1000105234 ~]# ./getinterface.sh -tt
ff
getinterface.sh [-i interface | -I IP | -a]
[root@LFG1000105234 ~]# ./getinterface.sh -I 189
OK
eth0 eth2 eth3 eth5 eth6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点滴0908

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值