如何在Erlang/Elixir中获取完全限定域名(或只是域名)?



Erlang 有 inet.gethostname 来获取主机名:

iex(1)> {:ok, hostname} = :inet.gethostname
{:ok, 'Michaels-MacBook-Pro'}

但是如何获得域名呢?

:net_adm.dns_hostname(:net_adm.localhost)

似乎做了你想做的事。

这不是最优雅的解决方案,但这是我迄今为止发现的唯一有效的解决方案:

def fqdn do
{fqdn, _exit_status} = System.cmd("hostname", ["-f"])
String.trim(fqdn)
end

最新更新