linux – ConditionPathExists =和ConditionPathExists = |之间的区别是什么在systemd?

前端之家收集整理的这篇文章主要介绍了linux – ConditionPathExists =和ConditionPathExists = |之间的区别是什么在systemd?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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操作

猜你在找的Linux相关文章