我正试图使用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)

10-06 06:32