如何抑制systemctl的输出?
我努力了
systemctl --quiet
systemctl -q
乃至
systemctl 2>&1 1>/dev/null
当服务测试被禁用时,当所述服务已经被禁用时,这些似乎都不起作用?
systemctl -q is-disabled dhcpcd
答案1
systemctl
不支持is-disabled
选项,您可能是指is-enabled
.要使用它并将 stdout 和 stderr 重定向到 /dev/null:
systemctl is-enabled dhcpcd >/dev/null 2>&1
答案2
is-disabled
不是systemctl
关键字。
这更接近我认为你想要的:
systemctl status service &>/dev/null || echo "is-disabled"
我正在使用 shell OR 分支运算符。如果前一个命令返回错误状态,则该行将打印,is-disabled
以防服务被禁用,systemctl 将执行此操作。如果您想测试该服务是否已启用,您可以使用&&
代替||
。这echo
只是以下命令的示例。