我试图将我的互联网IP地址保存在shell中的一个变量中。确定shell中的IP地址?
我试图
ip=`host 'localhost' | awk '{print $4}'`
但返回
127.0.0.1
如何进行网络IP地址保存在外壳的变量?
我试图将我的互联网IP地址保存在shell中的一个变量中。确定shell中的IP地址?
我试图
ip=`host 'localhost' | awk '{print $4}'`
但返回
127.0.0.1
如何进行网络IP地址保存在外壳的变量?
要得到所有你本地接口的IP地址,请尝试使用ifconfig
,例如像这样:
$ ifconfig | awk '/inet/{ print $2 }'
127.0.0.1
10.8.0.34
192.168.1.2
在这里你可以看到我有3个地址(环回适配器,以太网和WiFi)。如果你知道你的本地网络地址有192.*
形式,你只能得到一个具有:
$ ifconfig | awk '/inet *192/ { print $2 }'
192.168.1.2
并将其存储到一个变量:
ip=$(ifconfig | awk '/inet *192/ { print $2 }')
或者,所有地址存储在bash
数组:
$ ips=($(ifconfig | awk '/inet/{ print $2 }'))
$ printf "ip: %s\n" "${ips[@]}"
ip: 127.0.0.1
ip: 10.8.0.34
ip: 192.168.1.2
要获得IPv6地址,寻找inet6
,而不是inet
。
谢谢,现在正在工作 –
不客气! – randomir
什么IP?您的WAN(外部)IP? – BrightOne
我的IP用于本地互联网,不是77。更多 –
但是192.somethingelse –