如何使 --full 成为 `systemctl status` 的默认值?

如何使 --full 成为 `systemctl status` 的默认值?

我已SYSTEMD_PAGER设置为 cat,以避免长行被截断。但是,当我输入 时systemctl status <service>,它现在插入一个省略号,而不是在末尾截断长行仍然不显示完整线路!

联机帮助页说通过-l--full将修复此问题 - 确实如此 - 但我怎样才能使这种(正确的)行为成为默认行为?

没有提到我可以设置来启用此功能的环境变量,并且不可能设置 shell 别名,因为别名中不能有空格,例如alias 'systemd status'='systemd status -l'.

我不想有一个不同名称的别名 - 我只想-lsystemd status.是否可以?

答案1

不一定-l要在 the 之后,status所以您可以简单地使用

alias systemctl='systemctl -l'

当然,这也使其成为所有其他子命令的默认设置。

答案2

当别名的功能不够时,下一步就是使用 shell 函数。像这样,例如:

systemctl() {
    if [ "$1" = "status" ]
    then
        /bin/systemctl -l "$@"
    else
        /bin/systemctl "$@"
    fi
}

相关内容