Когда я запускаю такую команду:
# systemctl status plexmediaserver
Я получаю красиво окрашенный вывод. Но когда я запускаю следующую команду:
# watch -n300 --color systemctl status plexmediaserver
Есть ли способ сделать эту watch
команду с цветом из systemctl
? Я systemctl
просматривал справочную страницу, но нигде не вижу ссылки на цвет.
Ответы:
man systemd
говоритто есть, вы можете включить цветовой режим с этим.
источник
SYSTEMD_COLORS
делает больше , чем предполагает название, потому что в середине 2018 поддержки интерактивных ссылок была введена, выход замусоривания с некоторыми эвакуационными кодами и urlified URL , - которые , к счастью , могут быть отключены сSYSTEMD_URLIFY=0
systemctl
по-видимому, не имеет механизма для указания, когда окрашивать вывод. Быстрое решение состоит в том, чтобы прокладкаisatty(3)
всегда возвращала истину, таким образом, обманчивыйsystemctl
вывод в интерактивный режим. А именно вы могли бы сделать:В
-xc -
концеgcc
команды указываетсяgcc
компилировать код C (-xc
) из stdin (-
). Остальные флаги говорятgcc
о создании общего объектного файла с именемisatty.so
. Обратите внимание, что это может привести к поломке других программ, которыеisatty
возвращают допустимое значение. Это , однако , как представляется , будет хорошо для ,systemctl
какisatty
представляется , будет использоваться исключительно для целей определения , если она должна окрашивать свою продукцию.источник
Основываясь на ответе @ KarlC , вот скрипт, который генерирует и затем включает библиотеку во время выполнения:
источник