Farben mit Unix-Befehl „watch“?
Frage
Einige Befehle, die ich benutze Anzeigefarben, aber wenn ich sie mit Uhr verwenden die Farben verschwindet:
watch -n 1 node file.js
Ist es möglich, die Farben irgendwie auf wieder haben?
Lösung
Einige neuere Versionen von watch
jetzt Farbe unterstützen.
Zum Beispiel watch --color ls -ahl --color
.
Andere Tipps
Verwenden Sie watch
nicht ... Wenn Sie Uhr-Programme verwenden erkennt sie nicht an ein Terminal zu schreiben und dann die Farbe abzustreifen. Sie müssen bestimmte Programmflags verwenden es die Steuercodes zu halten.
Wenn Sie nicht wissen, die Flaggen oder gibt es nicht, können Sie ein armer Mann Uhr machen durch:
while sleep <time>; do clear; <command>; done
Es wird ein wenig Flimmern hat (watch Werk „doppelt gepuffert“), aber für ein paar Sachen ist es nützlich genug.
Sie könnten versucht sein, einen doppelten gepufferte armen Mann Uhr machen mit
while sleep <time>; do <command> > /tmp/file; clear; cat /tmp/file; done
Aber dann werden Sie treffen wieder die Funktion „Ich bin nicht zu einem Terminal zu schreiben“.
Sie können den grundlegenden duplizieren, ohne Extras Betrieb von watch
in ein paar Zeilen von Shell-Skript.
$ cat cheapwatch
#!/bin/sh
# Not quite your Rolex
while true ; do
clear
printf "[%s] Output of %s:\n" "$(date)" "$*"
# "$@" <- we don't want to do it this way, just this:
${SHELL-/bin/sh} -c "$*"
sleep 1 # genuine Quartz movement
done
$ ./cheapwatch ls --color # no problem
Schließlich jemand sehr klug einen tr
Befehl in dieses Skript hacken, die Steuerzeichen Streifen und zwingen die Benutzer dann zu verwenden --color
diese Logik zu deaktivieren. Zur Zeit ist, ist die schiere Naivität dieser Implementierung hält die Farbe fress Monster weg.
Wenn Sie in einer Situation, wo watch
nicht die --color
Option hat, und Sie können das Paket aus irgendeinem Grunde nicht aktualisieren, vielleicht können Sie dies in werfen.
YES
Die Uhr läuft mit der Farbausgabe. es ist Teil des procps Pakets (zumindest in debian) ist hier ist für Ihre Frage Bugreport http://bugs.debian.org/cgi-bin/bugreport. cgi? bug = 129.334 wo sie antworten, dass Sie das procps-Paket aktualisieren sollten
z. mit ubuntu 11.04 dieses Paket funktioniert http://packages.debian.org/wheezy/procps
tl; dr
update procps
Aus Uhr Handbuch:
nicht druckbare Zeichen werden von Programmausgabe abgezogen. Verwenden Sie „cat -v“ als Teil der Befehls-Pipeline, wenn Sie sie sehen wollen.
Obwohl, ich bin nicht sicher, wie es zu benutzen.