我正试图使用bash脚本输出当前的IP地址。我正试着把我的头绕在awk
上,并设法做到了以下几点:
/sbin/ifconfig $1 | grep "inet" | awk '$1 == "inet" {gsub(/\/.$/, "", $2); print $2}'
哪些输出:
127.0.0.1
192.168.178.57
我现在有两个问题:首先,
127.0.0.1
是无用的,我如何摆脱它?其次,
192.168.178.57
是我的Wi-Fi连接的IP地址。不过,我希望脚本能够抓取Wi-Fi或以太网的IP地址,无论我现在使用哪一个。/sbin/ifconfig
的样本输出可以found here. 最佳答案
您可以使用这个awk脚本:
awk '/inet / && $2 != "127.0.0.1"{print $2}' <(ifconfig)