我知道这是一个有效的 systemd 单元配置文件语法:
[Unit]
RequiresMountsFor=/mnt/foo /mnt/bar
...
最近,我看到了上述的多行变体:
[Unit]
RequiresMountsFor=/mnt/foo
RequiresMountsFor=/mnt/bar
...
这两种语法在语义上是等价的吗?
我检查了 systemd.unit 手册页中的 RequiresMountsFor 选项,该选项明确指出:“采用空格分隔的绝对路径列表。” 此外,还有与 Requires 和 After 选项相似之处的提示。Requires 选项的文档明确指出单行和多行语法是等效的(对于 Requires 选项):“可以多次指定此选项,或者可以在一个选项中指定多个空格分隔的单位,在这种情况下需要将创建所有列出名称的依赖项。” 所以我猜想这同样适用于 RequiresMountsFor。
看起来确实是等价的:
这可能应该在手册页中更好地记录;正如 systemd.syntax(7) 指出的那样,并非所有指令都如此: