在Systemd中启动我的服务之前,我需要检查一个文件不存在.我在[单位]中看到两个案例:
ConditionPathExists=!/tmp/abc
和
ConditionPathExists=|!/tmp/abc
他们一样吗?任何人都可以帮我解释一下他们是不同的吗?
解决方法
有时你指定多个文件,如:
ConditionPathExists=!/tmp/abc ConditionPathExists=!/tmp/abe
现在如果不满足任何条件,它就不会启动服务.就像和操作一样.
现在,如果您使用:
ConditionPathExists=|!/tmp/abc ConditionPathExists=|!/tmp/abe
如果满足任何这些条件,它将运行该服务.
Condition checks can be prefixed with a pipe symbol (|) in which case
a condition becomes a triggering condition. If at least one triggering
condition is defined for a unit,then the unit will be executed if at
least one of the triggering conditions apply and all of the
non-triggering conditions
这就像OR操作