Shell脚本:从子网掩码中获取eth名称

时间:2016-10-04 09:58:01

标签: linux shell networking ip subnet

我的计算机有多个以太网设备,例如eth0eth1等。其中一个IP将具有192.168.x.x范围内的IP。如何使用shell脚本获取设备名称? (最好使用ip命令而不是ifconfig

eth0 192.168.2.3 要么 eth3 192.168.5.6

1 个答案:

答案 0 :(得分:0)

你可以试试这个;

ip -o -4 a | awk '$2 ~ "eth" { gsub(/\/.*/, "", $4); print $2" "$4}'

到所有接口;

ip -o -4 a | awk ' { gsub(/\/.*/, "", $4); print $2" "$4}'

例如:

user@host:/tmp/$ ip -o -4 a | awk ' { gsub(/\/.*/, "", $4); print $2" "$4}'
lo 127.0.0.1
eth0 x.x.x.x
docker0 x.x.x.x

user@host:/tmp/$ ip -o -4 a | awk '$2 ~ "eth" { gsub(/\/.*/, "", $4); print $2" "$4}'
eth0 x.x.x.x
  man ip说:

     

-o,-oneline                     将每条记录输出到一行,用'\'字符替换换行符。这很方便   用wc(1)计数记录或用输出grep(1)计算记录。

     

-4 a:仅显示TCP / IP IPv4