Gibt es so etwas in Unix?
$ echo "this should show in red" | red
$ echo "this should show in green" | green
$ echo "this should show in blue" | blue
Hiermit meine ich nicht, dass wörtlicher Farbcodetext angezeigt wird (zum Beispiel, um in eine Datei eingefügt zu werden). Ich meine nur, dass der Text tatsächlich im Terminal als diese Farbe angezeigt wird. Ist das möglich?
rgb001
,rgb123
usw. Siehe perldoc.perl.org/Term/ANSIColor.html#Supported-Colors für weitere Details.Sie würden dafür verwenden
tput
:Dies kann verwendet werden, um eine Pipe zu bauen:
Die Grundfarben sind Schwarz (0), Rot (1), Grün, Gelb, Blau, Magenta, Cyan und Weiß (7). Sie finden alle Details in der
terminfo(5)
Manpage .quelle
Mit
zsh
:Und dann:
quelle
(Wie in den Kommentaren besprochen, verwenden Sie
tput
stattdessen, wenn Sie es haben.)Mit Bourne - Shell und
echo
(eingebaut) Befehl, der den ANSI - Escape versteht\e
mit-e
Option:oder allgemeineres Shell-Skript (etwa
/usr/local/bin/colorize
):IFS=
wird benötigt, um das Trimmen von Leerzeichen zu verhindern (siehe POSIX für Details).quelle
tput
.