systemctl 输出被截断

Kev*_*vin 7 systemd

需要为此命令 grep 输出:

systemctl | grep failed
Run Code Online (Sandbox Code Playgroud)

问题是它没有显示完整的单位:

systemd-...-clean.service loaded failed failed        Cleanup of Temporary Directories
systemd-...-setup.service loaded failed failed        Recreate Volatile Files and Directories
tcsd.service              loaded failed failed        LSB: Init script for TCSD
cups.socket               loaded failed failed        CUPS Printing Service Sockets
Run Code Online (Sandbox Code Playgroud)

你可以看到单位显示,如:systemd-...es-clean.timersystemd-tmpfiles-clean.service

我试过一个文件:

systemctl --failed > file
Run Code Online (Sandbox Code Playgroud)

或者猫:

systemctl --failed | cat
Run Code Online (Sandbox Code Playgroud)

但问题是一样的。我需要了解为什么会发生这种情况以及如何解决它。

man*_*ork 6

这与管道无关,是systemctl的行为。使用--full开关获取全名:

--full
    Do not ellipsize unit names and truncate unit descriptions in the
    output of list-units and list-jobs.
Run Code Online (Sandbox Code Playgroud)