В чем разница между 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
dnl
но вы получите дополнительные пустые строкиsendmail.cf
. И да, если вы хотите, чтобы что-то вступило в силу, оно на самом деле должно присутствовать вsendmail.cf
...DNL
нетdnl
. Извините, но я видел несколько глупых ошибок m4 в ответах с очень высокими показателями на сайтах Stack Exchange.dnl
или находитьсяdnl #
перед ним ...? и я хочу всегда заканчивать это с DNL?DNL означает «удалить через новую строку», что на самом деле означает «игнорировать все после« dnl »до следующей строки».
«Dnl #» - это просто искусственная номенклатура. Когда файл sendmail.mc был впервые разработан, они хотели, чтобы вы знали, что все, что было «dnl ...», было командой / параметром, которое было закомментировано, а все, что было «dnl # ...», было действительно описательным комментарием, который не была командой / параметром, который можно было бы раскомментировать, потому что «#» часто используется в начале строки, чтобы указать, что «то, что следует до конца строки», является комментарием.
источник