我正在寻找一个命令行解决方案,将返回我的主(第一个)IP地址的本地主机,而不是127.0.0.1
该解决方案至少适用于Linux (Debian和RedHat)和OS X 10.7+
我知道在这两个平台上都可以使用ifconfig,但是它的输出在这些平台之间并不一致。
我正在寻找一个命令行解决方案,将返回我的主(第一个)IP地址的本地主机,而不是127.0.0.1
该解决方案至少适用于Linux (Debian和RedHat)和OS X 10.7+
我知道在这两个平台上都可以使用ifconfig,但是它的输出在这些平台之间并不一致。
当前回答
对于linux机器(不是OS X):
hostname --ip-address
其他回答
所有东西都有一个节点包。它是跨平台的,易于使用。
$ npm install --global internal-ip-cli
$ internal-ip
fe80::1
$ internal-ip --ipv4
192.168.0.3
这是一种有争议的方法,但不管你喜不喜欢,在工具中使用npm正变得越来越流行。
如果你已经安装了npm和node: npm install -g ip && node -e "const ip = require('ip');console.log (ip.address())”
如果你知道网络接口(eth0, wlan, tun0等):
ifconfig eth0 | grep addr: | awk '{ print $2 }' | cut -d: -f2
只针对Ubuntu的某些版本。尽管它可能只告诉你127.0.0.1:
hostname -i
or
hostname -I
ip addr show | grep -E '^\s*inet' | grep -m1 global | awk '{ print $2 }' | sed 's|/.*||'