Einige Befehle, die ich Display-Farben verwenden, aber wenn ich sie mit Uhr verwenden die Farben verschwindet:Farben mit Unix-Befehl "watch"?
watch -n 1 node file.js
Ist es möglich, die Farben wieder auf irgendwie haben?
Einige Befehle, die ich Display-Farben verwenden, aber wenn ich sie mit Uhr verwenden die Farben verschwindet:Farben mit Unix-Befehl "watch"?
watch -n 1 node file.js
Ist es möglich, die Farben wieder auf irgendwie haben?
Einige neuere Versionen von watch
unterstützen jetzt Farbe.
Zum Beispiel watch --color ls -ahl --color
.
werfen Sie einen Blick auf: http://superuser.com/questions/125469/bash-watch-command-with-colors-preserved (erste Antwort) - Vielleicht können Sie es in Ihrer Antwort verknüpfen. – aatdark
Ich kam hierher, um 'watch' mit' git diff' zu verwenden. FWIW, um das zum Laufen zu bringen, muss man '--color = immer 'auf' git diff' setzen (zB 'watch --color git diff --color = always'. – theabraham
Mit anderen Worten:" Watch * does * arbeiten mit Farbausgabe ". – nobar
Von Uhr Handbuch:
Nicht druckbare Zeichen werden von Programmausgabe abgezogen. Verwenden Sie "cat -v" als Teil der Befehlspipeline, wenn Sie sie sehen möchten.
Obwohl ich nicht sicher bin, wie man es benutzt.
Dies bewirkt, dass die Steuerzeichen in der Ausgabe für mich sichtbar sind, anstatt eine Färbung zu verursachen. Zum Beispiel "watch -c" ls --color | cat -v "' zeigt '^ [[0m^[[01; 34mgg^[0m' für die erste Zeile. –
JA
Uhr funktioniert mit Farbausgabe. es ist Teil des procps Paket (zumindest in debian) hier Bugreport für Ihre Frage http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=129334 wo sie antworten, dass Sie das Paket procps
zum Beispiel aktualisieren sollte mit ubuntu 11.04 dieses Paket funktioniert http://packages.debian.org/wheezy/procps
tl; dr
Update procps
Sie können die grundlegenden duplizieren, No-Frills-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)" "$*"
# "[email protected]" <- 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 dann den Benutzer zwingt --color
zu verwenden, die Logik zu deaktivieren. Die schiere Naivität dieser Umsetzung hält das farbfressende Monster vorerst fern.
Wenn Sie in einer Situation, wo watch
nicht die --color
Option haben, und Sie können das Paket aus irgendeinem Grund nicht aktualisieren, vielleicht können Sie dies in werfen.
nicht watch
verwenden ... Wenn Sie Watch-Programme verwenden, erkennen sie, dass sie nicht an ein Terminal schreiben und dann die Farbe entfernen. Sie müssen bestimmte Programmflags verwenden, um die Steuercodes dort zu behalten.
Wenn Sie nicht wissen, die Flaggen oder gibt es nicht, können Sie einen Mann beobachten Armen machen durch:
while sleep <time>; do clear; <command>; done
Es wird ein wenig Flimmern haben (Die Uhr läuft „doppelt gepuffert“), aber für einige Sachen, es ist nützlich genug.
Sie können versucht sein, einen doppelten gepufferte armen Mann Uhr
while sleep <time>; do <command> > /tmp/file; clear; cat /tmp/file; done
mit zu machen, aber dann werden Sie treffen wieder die „ich schreibe nicht an einen Terminal“ -Funktion.
Vielleicht verwenden' während schlafen
mmm Ich bekomme es nicht @ AndréLeria ... | tee wird Farbcodes wie "watch" entfernen tun und nicht verhindern, dass Befehl von flackern – theist
Es ist ein Vorschlag für das zweite Beispiel, das auch nicht mir Farben gibt vielleicht mache ich etwas falsch? –
mögliche Duplikate von [Wie kann ich den Watch-Befehl vt100 Sequenzen interpretieren?] (Http://StackOverflow.com/Questions/2417824/How-Cani-Imake-the-watch-Command-interpret-vt100- Sequenzen) – l0b0