我正在尝试编写一个脚本,它可以 ping 一个 IP 地址并告诉您正在 ping 的服务器的名称。
大部分情况下有效
我似乎无法弄清楚如何让 Linux(更具体地说是 Ubuntu)显示在“resolv.conf”文件中设置的 DNS 域后缀。
如果我在命令提示符下输入“hostname”,我得到的只是“ubuntu01”
我尝试输入域名,但得到的只是输出“(无)”,这让我很困惑,因为我可以输入我网络上任何计算机的 hsotname,它会像预期的那样将“solignis.local”的 DNS 后缀附加到它上面。
有任何想法吗?
答案1
hostname
提供此功能:
$ hostname -d
如果您收到此信息(none)
,则可能未设置域,还有-y
NIS/YP 域名的开关。
答案2
resolv.conf 中的“搜索”和“域”设置仅用于将没有域的主机名转换为 IP 地址。
您正在尝试将没有域的主机名转换为带有域的主机名。
我通常会将主机名设置为带有域的主机名,例如 /etc/hostname 和 /etc/hosts。
另一个选择是设置 DNS 服务器。
答案3
听起来计算机没有正确配置域。如果 resolv.conf 文件中有您想要的搜索域,您可以将其 grep 出来 ( grep search /etc/resolv.conf
)