这真的很奇怪。我们有一个shell脚本,即在每个linux机器上进行服务器配置。它包含以下命令行:

    #!/bin/bash
    ...
    hostname=`hostname -f 2>/dev/null`

大多数情况下,这一行脚本返回正确的主机名值,如下所示:
    + hostname=xyz.companyname.com

但我见过几次,整个配置失败,因为它会返回这样的输出:
    + hostname=xyz.companyname.COM

我不知道为什么域名的最后一部分会变成大写。
我在/etc/hosts文件中没有看到任何可疑的内容。你知道是什么造成的吗?
谢谢,
杰克

最佳答案

检查/etc/hosts
我的理解是hostname -f可以从dhcp(?)中检索主机名。或者根据什么情况,我不知道。
但你可能有

123.45.67.89 xyz.companyname.com xyz.companyname.COM

或者类似的东西。

关于linux - 为什么有时我收到错误的主机名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39630110/

10-12 20:02