Hosts 文件注释格式

Hosts 文件注释格式

我正在查看 Windows 计算机上的 hosts 文件,我注意到除了以 # 字符开头的明显注释外,它还包含以两个制表符(或在某些情况下以多个空格)开头的注释行,并且前面没有 # 或 IP 地址。这些“注释”紧跟在定义明确的注释行之后。例如:

# Obviously a comment line that starts with #
\t\t Is also a comment, but line starts with two tabs
\t\t Possibly is treated as a comment continuation??

Microsoft 页面上有关于 hosts 文件的内容:

Hosts 文件包含多行文本,第一个文本字段中有一个 IP 地址,后面跟着一个或多个主机名。每个字段之间用空格分隔(出于历史原因,通常首选制表符,但也使用空格)。可以包含注释行,注释行在行首位置用井号 (#) 表示。文件中的空白行将被忽略。

这意味着评论应该以 # 开头

维基百科Hosts文件上的内容基本一致。

我的 hosts 文件格式是否错误(问题被忽略了)?或者是否存在某种神秘的格式,允许注释以不带前导 # 开头(可能是上一行注释延续格式)?

答案1

RFC 952:2. 续行是以至少一个空格开头的行。它们可用于任何“空格”合法的地方,以将条目拆分为多行。

如果文本位于条目之后,那么它就是别名的文本字符串。

您的文件格式是否错误?是的。您的系统是否“忽略”格式错误的行?也许,您可以检查别名。并在日志中查找消息。但“忽略”格式错误的数据是 unix 网络系统设计的一部分,这并不神秘:这就是系统的设计方式。

相关内容