shell编程练习001(20160226)

本文介绍了一个名为 getinterface.sh 的 bash 脚本,该脚本能够通过不同的命令行参数展示系统的网络接口信息。用户可以通过-i选项查看特定网卡的IP地址,通过-I选项找出指定IP地址对应的网络接口,或者直接使用-a选项列出所有活动网络接口及其IP地址(不包括loopback)。文章提供了完整的脚本代码,并概述了各个功能函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 count=$#
        local paranum=$1
        echo $count,$@
        if ([ $paranum != "-i" ] | [ $paranum != "-I" ] | [ $paranum != "-a" ]) | ([ $count -gt 2 ] | [ $count -eq 0 ]);then
                Print_Help
                exit
        fi
}

function List_Nic()
{
        echo 'ifconfig -a | grep inet'
}

function Get_IP()
{
        local Info='ifconfig $1 | grep "inet addr" | awk -F ':' '{print $2}' | awk '{print $1}''
        echo $Info
}

function main()
{
        Para_Check $@
        Para=$@
        if [ $# -eq 1 ];then
                List_Nic
        elif [ $# -eq 2 ];then
                Get_IP $2
        else
                Print_Help
        fi
}
main $@
需要继续调试



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

点滴0908

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

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

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

打赏作者

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

抵扣说明:

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

余额充值