代码之家  ›  专栏  ›  技术社区  ›  Martin

如何否定systemd服务的ExecCondition中使用的命令的退出代码

  •  0
  • Martin  · 技术社区  · 1 年前

    我想否定systemd服务的ExecCondition中使用的命令的退出代码。但是,我不能在命令之前使用“!”,因为systemd会将此字符用于稍有不同的用途(继续,即使命令失败[1])。

    [Unit]
    Description=Negated Exec Condition
    
    [Service]
    Type=oneshot
    
    ExecCondition=/usr/bin/command # How can I negate the exit code?
    
    ExecStart=...
    
    [Install]
    WantedBy=default.target
    

    [1] https://www.freedesktop.org/software/systemd/man/systemd.service.html

    1 回复  |  直到 1 年前
        1
  •  0
  •   KamilCuk    1 年前

    你可以运行shell。

    ExecCondition=/bin/sh -c '! "$@"' -- /usr/bin/command