我的计算机有多个以太网设备,例如eth0
,eth1
等。其中一个IP将具有192.168.x.x
范围内的IP。如何使用shell脚本获取设备名称? (最好使用ip
命令而不是ifconfig
)
像
eth0 192.168.2.3
要么
eth3 192.168.5.6
答案 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