
我正在 Windows 電腦上查看主機文件,我注意到除了以 # 字元開頭的明顯註釋之外,它還有註釋行,但以兩個選項卡(或在某些情況下有幾個空格)開頭,並且前面沒有# 或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 檔案包含多行文本,其中第一個文字欄位包含 IP 位址,後面跟著一個或多個主機名稱。每個欄位均由空格分隔(由於歷史原因,製表符通常是首選,但也使用空格)。可以包含註解行,並且它們由此類行的第一個位置中的井號字元 (#) 指示。文件中的完全空白行將被忽略。
這意味著註釋應該以 # 開頭
維基百科頁Hosts 文件上的內容基本上相同。
我的主機檔案格式是否錯誤(且問題被忽略)?或者是否有一些神秘的格式允許註釋在沒有前導 # 的情況下開始(可能是上一行的註釋延續格式)?
答案1
RFC 952: 2. 續行是指至少以一個空格開頭的行。它們可以用在任何可以合法使用「空白」來跨行分割條目的地方。
如果文字位於條目後面,則文字字串是別名。
您的文件格式錯誤嗎?是的。您的系統是否「忽略」格式錯誤的線路?也許,您可以檢查別名。並在日誌中尋找訊息。但是「忽略」格式錯誤的資料是 UNIX 網路系統設計的一部分,這並不神秘:這就是系統的設計方式。