我如何得到一个linuxterminal来显示一台机器的DNS域名后缀

我正在尝试制作一个脚本来ping一个IP地址,并告诉你它正在ping的服务器的名字。

它的工作….大部分

我似乎无法弄清楚如何使Linux(Ubuntu更具体)显示在“resolv.conf”文件中设置的dns域后缀。

如果我在命令提示符下input“hostname”,我只能得到“ubuntu01”

我尝试input域名,我得到的是输出“(none)”,这是混淆我考虑我可以input我的networking上的任何计算机的hsotname输出,它将追加到“solignis.local”的DNS后缀就像它应该。

有任何想法吗?

hostname提供了这个function:

 $ hostname -d 

如果你得到(none)那么域可能不会被设置,还有NIS / YP域名的-y开关。

resolv.conf中的“search”和“域”设置仅用于将没有域的主机名转换为IP地址。

您正尝试将没有域的主机名转换为具有域的主机名。

我通常将主机名设置为具有域的主机名,例如在/ etc / hostname和/ etc / hosts中。

另一种select是build立一个DNS服务器。

听起来像电脑没有正确configuration域。 如果resolv.conf文件中有一个search域,可以将其grep( grep search /etc/resolv.conf