使用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 }'
,但我不断收到错误。
答
您可以使用以下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
你需要一个命令替换('$(...)')嵌入从输出命令:“echo”IP地址:$(ifconfig enp0s3 | grep“inet”| awk'{gsub(“addr:”,“”,$ 2); print $ 2}')“'。 – mklement0 2015-04-01 19:43:13