獲取網卡信息

獲取網卡信息

獲取網卡名:

#ifconfig | grep -o "^[^[:space:]]\{1,\}"



獲取eth0的ip地址:

#ifconfig eth0 | grep -o "inet addr:[0-9\.]\{1,\}" | cut -d: -f2


紅帽7上的方法

#ifconfig eth0 | grep -o "inet [0-9\.]\{1,\}" | cut -d' ' -f2


不同的系統ifconfig得到的信息不同修改grep的內容來準確獲取

獲取指定IP的網卡名:

#ifconfig | grep -B 1 "192.168.0.99" | grep -o "^[^[:space:]]\{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##Name:getinterface.sh #Description:Get ethernet information#Author:chen#Version:0.0.1#date time:2016-08-29 22:01:53#Usage:getinterface.shSHOWIP (){        if ! ifconfig |grep -o "^[^[:space:]]\{1,\}"|grep $1 &> /dev/null;then                return 13        fi        echo -n "$1:"        ifconfig $1 | grep -o "inet [0-9\.]\{1,\}" | cut -d' ' -f2}SHOWETHER(){        if ! ifconfig | grep -o "inet [0-9\.]\{1,\}" | cut -d' ' -f2 | grep ^"$1"$ &> /dev/null;then                return 14        fi        echo -n "$1:"        ifconfig | grep -B 1 "$1" | grep -o "^[^[:space:]]\{1,\}"|cut -d: -f1-2}SHOWALL () {         ifconfig | grep -o "^[^[:space:]]\{1,\}"|grep -o "[a-z,A-Z,0-9].*[^:]" > ether.txt        while read LINE;do                if [ $LINE != "lo" ];then                        SHOWIP $LINE                fi        done < ether.txt        rm -f ether.txt}USAGE () {        echo "getinterface.sh <-i interface | -I IP | -a >"             }while getopts ":i:I:a" SWICH;do        case $SWICH in                i)                SHOWIP $OPTARG                [ $? -eq 13 ] && echo "Wrong ethercard"                ;;                I)                SHOWETHER $OPTARG                [ $? -eq 14 ] && echo "Wrong IP"                ;;                a)                SHOWALL                ;;                *)                USAGE                ;;        esacdone


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章