这虚拟别名表格式Postfix 在某些条件下为前导空格赋予特殊含义:
multi-line text
A logical line starts with non-whitespace text. A line that
starts with whitespace continues a logical line.
我在这些文件中有很多条目,例如这个例子。特别是前缀a
的长度在多个不同的行中是不同的。
# Some comment...
[email protected] recipient
[email protected] recipient
[email protected] recipient
[email protected] recipient
[email protected] recipient
[email protected] recipient
为了使内容更具可读性,我希望对相同的条目采用以下布局:
# Some comment...
[email protected] recipient
[email protected] recipient
[email protected] recipient
[email protected] recipient
[email protected] recipient
[email protected] recipient
或者有时采用相同的方法,但顺序不同。不过,理论上前一个例子更常见。
# Some comment...
[email protected] recipient
[email protected] recipient
[email protected] recipient
[email protected] recipient
[email protected] recipient
[email protected] recipient
因此,区别实际上只是添加了前导空格以使内容更具可读性。至少在第二个示例中,根据文档,前导空格将被识别为前几行的延续,而这在我的例子中是错误的。
但是第一个例子该如何处理?理论上从来没有一个起始逻辑行,但行也不是空的或者仅仅是空格或者注释。
一般来说,有没有办法配置/......后缀使得前导空格总是被忽略并且永远不会用于继续?
如果 Postfix 的当前实现根本无法实现,我会接受。只是想确保我没有遗漏任何东西。
谢谢!
答案1
Postfix 附带一个postmap
预编译表的工具。
postmap hash:/tmp/virtual && postmap -s hash:/tmp/virtual
postmap hash:/tmp/virtual && postmap -q "[email protected]" hash:/tmp/virtual
但是第一个例子该如何处理呢?理论上,从来没有一个起始逻辑行,但行也不是空的、空格的或只有注释的。
Postfix 警告您“逻辑行不能以空格开头”并忽略后面的续行,导致表中只有一个条目(“abcd”)。
(这似乎不同于配置文件解析器,其中仅包含注释的行仍然算作逻辑行,并且注释会延续到所有连续行。)
一般来说,有没有办法配置/......后缀使得前导空格总是被忽略并且永远不会用于继续?
不可以。Postfix 的 readllines()“逻辑行读取”功能的使用是不可配置的。