Ketika saya menjalankan perintah seperti ini:
# systemctl status plexmediaserver
Saya mendapatkan hasil berwarna. Tetapi ketika saya menjalankan perintah berikut:
# watch -n300 --color systemctl status plexmediaserver
Apakah ada cara saya bisa melakukan watch
perintah ini dengan warna dari systemctl
? Saya telah melihat halaman manual untuk systemctl
tetapi tidak melihat referensi warna di mana saja.
Jawaban:
man systemd
katayaitu, Anda dapat memaksa mode warna dengan itu.
sumber
SYSTEMD_COLORS
tidak lebih dari yang disarankan oleh namanya, karena pertengahan 2018 dukungan untuk tautan yang dapat diklik diperkenalkan, mengotori keluaran dengan beberapa kode pelarian dan URL yang di urlifikasi - yang untungnya dapat dimatikan denganSYSTEMD_URLIFY=0
systemctl
tampaknya tidak memiliki mekanisme untuk menentukan kapan akan mewarnai output. Solusi cepat adalah shimisatty(3)
untuk selalu kembali benar, sehingga menipusystemctl
berpikir stdout bersifat interaktif. Yaitu yang bisa Anda lakukan:Di
-xc -
akhirgcc
perintah memberitahugcc
untuk mengkompilasi kode C (-xc
) dari stdin (-
). Sisa flag memberi tahugcc
untuk membuat file objek bersama bernamaisatty.so
. Perhatikan bahwa ini bisa sangat merusak program lain yang mengandalkanisatty
untuk mengembalikan nilai yang sah. Itu namun tampaknya baik-baik saja untuksystemctl
sebagaiisatty
muncul untuk semata-mata digunakan untuk tujuan menentukan apakah itu harus mewarnai output.sumber
Berdasarkan jawaban @ KarlC , berikut adalah skrip yang menghasilkan dan kemudian menyertakan pustaka saat runtime:
sumber