Sometimes you specify several files, for example:
ConditionPathExists=!/tmp/abc ConditionPathExists=!/tmp/abe
Now, if any condition is not met, it does not start. It likes and works.
Now if you use:
ConditionPathExists=|!/tmp/abc ConditionPathExists=|!/tmp/abe
If any of these conditions are met, it will start the service.
The condition check may have a pipe symbol prefix (|), in which case the condition becomes a trigger condition. If at least one start condition is defined for one, then the block will be executed if at least one of the start conditions is applied, and all conditions without start
It's like an OR operation
source share