Tha*_*yen 10 linux redhat systemd
在Systemd中启动我的服务之前,我需要检查一个文件不存在.我在[单位]中看到两个案例:
ConditionPathExists=!/tmp/abc
Run Code Online (Sandbox Code Playgroud)
和
ConditionPathExists=|!/tmp/abc
Run Code Online (Sandbox Code Playgroud)
他们是一样的吗?任何人都可以帮我解释一下他们是不同的吗?
khr*_*hrm 18
有时您指定多个文件,如:
ConditionPathExists=!/tmp/abc
ConditionPathExists=!/tmp/abe
Run Code Online (Sandbox Code Playgroud)
现在,如果不满足任何条件,则不会启动服务.就像和操作一样.
现在,如果您使用:
ConditionPathExists=|!/tmp/abc
ConditionPathExists=|!/tmp/abe
Run Code Online (Sandbox Code Playgroud)
如果满足任何这些条件,它将运行该服务.
条件检查可以使用管道符号(|)作为前缀,在这种情况下,条件成为触发条件.如果为单元定义了至少一个触发条件,则如果至少有一个触发条件适用且所有非触发条件都将执行该单元
这就像OR操作