dnl和dnl #在/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
Run Code Online (Sandbox Code Playgroud)
Mic*_*ton 18
dnl和#这里之间有一个微妙但重要的区别。
dnl意思是“通过换行删除”。当你处理你sendmail.mc的sendmail.cf使用m4(或可能是某个前端)时,字符dnl和它们后面的所有内容,包括下一个换行符,都将被删除。(而所有这些线路的结束与dnl在抑制多余的空行sendmail.cf输出。)
开头没有dnl通过的线路年底将做出来的sendmail.mc和成sendmail.cf。
当然,输出中保留的任何内容要么是 sendmail 配置,要么是以 开头的注释#,它们将按原样复制到 中sendmail.cf,在那里它们将被忽略。
#上面以开头和未删除的任何内容都将使其成为sendmail.cf不受干扰的评论。
在您的示例中,有人打算从 中删除所有评论功能sendmail.cf以及评论,因为如果没有这些功能,评论将毫无意义。
DNL 的意思是“通过换行符删除”,这实际上意味着“忽略‘dnl’之后直到下一行的所有内容”。
“dnl #”只是人为的命名法。当 sendmail.mc 文件首次开发时,他们希望您知道任何“dnl ...”都是被注释掉的命令/设置,而任何“dnl #...”实际上都是描述性注释,不是可以取消注释的命令/设置,因为“#”经常用在行的开头来指示“行尾之前的内容”是注释。
| 归档时间: |
|
| 查看次数: |
14736 次 |
| 最近记录: |