Ich bin ein bisschen neu in der Bash-Skripterstellung und frage mich, ob es ein Programm oder einen eingebauten Befehl zum Weiterleiten gibt, der in einer bestimmten Farbe gedruckt wird. Oder gibt es dafür ein Echo-Argument?
Wie ich tun könnte:
echo Hi | commandhere -arguement blue
und es würde "Hi" in der Farbe blau drucken?
bash
scripts
command-line
pipe
TenorB
quelle
quelle
grc
gearbeitet und nicht als Präfixbefehl.Antworten:
Ich kenne kein Dienstprogramm für den Farbdruck selbst, aber mit einer Shell-Funktion wie der folgenden können Sie dies problemlos tun:
Wenn Sie andere Farben überprüfen möchten, sehen Sie sich diese Liste an . Von dort aus können Sie Unterstützung für jede Farbe hinzufügen, indem Sie bei dieser Funktion einfach eine zusätzliche Variable mit dem richtigen Namen und Wert erstellen.
quelle
.bashrc
./usr/local/bin
is ein guter Ort)Ich habe diese Funktion erstellt, die ich in Bash-Skripten verwende.
Dann nenne ich es einfach so
echoincolor green "This text is in green!"
Alternativ verwenden
printf
Dann nenne es einfach so
colorprintf green "This text is in green!"
Hinweis :
echo
Stellt eine nachfolgende neue Zeile bereit, diesprintf
jedoch nicht.quelle
Ich benutze dieses alte Skript mit dem Namen hilite.pl aus dem Internet, bereits mit der Zeile "unbekannter Autor"!
Dann kann ich es in Pipes verwenden, um die Protokollausgabe oder andere Dinge mit regexp / PCRE zu "hiliten":
Dies wird Hallo in Blau, Farbe in Grün und Welt in gelbem Hintergrund malen
Sie können die Farbliste mit sehen (Sie können den Bash-Ausdruck auf {01..255} erweitern, wenn Sie möchten):
quelle
Es gibt eine viel elegantere Antwort als jede andere:
(die auch installiert
grcat
)Führen Sie nun Folgendes aus:
Wo
conf.myusername
enthält:(Aus irgendeinem Grund kann ich nicht den richtigen regulären Ausdruck für "alles zwischen Anführungszeichen" finden)
quelle