【发布时间】:2013-01-13 16:29:38
【问题描述】:
作为安装脚本的一部分,我想对机器的公共 IP 地址进行“有根据的猜测”。它应该尽可能健壮,可以在各种主机和平台上工作。这是一个例子:
https://gist.github.com/4669037
此脚本使用 3 种方法,然后默认为 /etc/hostname 的值。到目前为止,我只在 Ubuntu 上对此进行了测试。这可能适用于其他发行版吗?还有我可以添加的其他方法吗?
【问题讨论】:
-
只要安装了 curl 就可以在任何发行版中使用。
-
curl ifconfig.me下面的答案很棒。但我想要备用方法,以防 curl 不可用或 ifconfig.me 站点不可用。 -
@ruakh 示例脚本已经在 curl 行中有
2> /dev/null。这不会隐藏 curl 错误吗? -
@Jeroen:哎呀,对不起,我不知何故没看到。没关系。 :-)
-
请参阅this answer,其中有一个脚本尝试各种 DNS 服务器和 HTTP 服务,直到得到回复。它使用
dig或curl或wget(按此顺序),具体取决于它在路径中找到的那个。截至 2017 年 2 月,服务器列表良好。
标签: linux bash shell ubuntu centos