Sendmail
sendmail.mc 文件中的“dnl”和“dnl #”有什麼區別?
dnl
和dnl #
in 有什麼區別/etc/mail/sendmail.mc
?如果我想啟用一些需要在前面的東西?同樣,如果我想“註釋掉”某些東西,我需要什麼前綴?例如:
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well dnl # dnl FEATURE(masquerade_entire_domain)dnl dnl # dnl MASQUERADE_DOMAIN(localhost)dnl dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl dnl MASQUERADE_DOMAIN(foo.com)dnl dnl MASQUERADE_DOMAIN(foo2.lan)dnl MAILER(smtp)dnl MAILER(procmail)dnl dnl MAILER(cyrusv2)dnl
dnl
和這裡有一個微妙但重要的區別#
。
dnl
意思是“通過換行刪除”。當您處理您sendmail.mc
的sendmail.cf
使用m4
(或可能是某些前端)時,將刪除字元dnl
及其後面的所有內容,包括下一個換行符。(所有這些行都以抑制輸出中的額外空白行結尾。)dnl``sendmail.cf
從行尾開始的任何
dnl
內容都不會使其脫離sendmail.mc
和進入sendmail.cf
。當然,保留在輸出中的任何內容要麼是 sendmail 配置,要麼是以 開頭的註釋
#
,它們將按原樣複製到sendmail.cf
中,在那裡它們將被忽略。任何以上面開頭
#
且未刪除的內容都將使其成為sendmail.cf
不受干擾的評論。在您的範例中,有人打算從 中刪除所有評論的功能
sendmail.cf
以及評論,因為如果沒有這些功能,評論將毫無意義。