使用Shell脚本打印出IP地址,MAC地址和默认网关

使用Shell脚本打印出IP地址,MAC地址和默认网关

问题描述:

我正在尝试编写一个脚本,该脚本用awk命令收集网络信息。使用Shell脚本打印出IP地址,MAC地址和默认网关

ifconfig enp0s3| grep "inet " | awk '{gsub("addr:","",$2); print $2 }' 

这是我最终得到得到我的IP地址的命令,但我还没有想通了,我怎么能写一个脚本在那里我能得到这样的输出:

IP Address : 10.0.2.15 

我试图

echo" IP Address:"$ ifconfig enp0s3| grep "inet " | awk '{gsub("addr:","",$2); print $2 }' 

,但我不断收到错误。

+1

你需要一个命令替换('$(...)')嵌入从输出命令:“echo”IP地址:$(ifconfig enp0s3 | grep“inet”| awk'{gsub(“addr:”,“”,$ 2); print $ 2}')“'。 – mklement0 2015-04-01 19:43:13

您可以使用以下awk命令在单次运行中获取IP地址和MAC地址。但是,默认网关通过ifconfig不可用:

ifconfig eth0 \ 
    | awk -F'(*|:)' '{printf "IP Address: %s\nMAC Address: %s\n",$16,$7":"$8":"$9":"$10":"$11":"$12}' RS='\n\n' 

输出:

IP Address: 10.0.2.15 
MAC Address: 00:23:12:f2:56:6d