Ich habe dieses Bild im Internet gefunden, weiß aber nicht, wie es gemacht wurde.
Kann mir jemand ein Beispiel dazu liefern? Ich hätte auch gerne eine Farbtabelle.
Antwort1
Installieren Sie das Paket mit dem Namen:
Farbtest
und viel Spaß beim Ausmalen durch Ausführen der Binärdateien wie colortest-8
colortest-16
colortest-16b
und so weiter
Antwort2
Die Escape-Sequenz ESC [ SPEC1 ; … m
ändert die Textattribute (Farbe, Fettdruck usw.) der nachfolgenden Zeichen. Dies ist eine derANSI-Terminal-Escapesequenzen. Jeder SPEC
kann einer der folgenden sein (die Liste ist nicht vollständig):
- 0, um zu den Standardfarben zu wechseln.
- 1, um Fettschrift einzuschalten.
- 30 bis 37, um die Vordergrundfarbe festzulegen (Schwarz, Rot, Grün, Gelb, Blau, Magenta, Cyan, Grau).
- 40 bis 47, um die Hintergrundfarbe festzulegen (dieselbe Liste).
Hier ist ein Shell-Snippet, das fast das ausgibt, was Sie gepostet haben.
printf " "
for b in 0 1 2 3 4 5 6 7; do printf " 4${b}m "; done
echo
for f in "" 30 31 32 33 34 35 36 37; do
for s in "" "1;"; do
printf "%4sm" "${s}${f}"
printf " \033[%sm%s\033[0m" "$s$f" "gYw "
for b in 0 1 2 3 4 5 6 7; do
printf " \033[4%s;%sm%s\033[0m" "$b" "$s$f" " gYw "
done
echo
done
done
Antwort3
Obwohl es nicht so schwer zu replizieren ist, stammt Ihr Screenshot wahrscheinlich vonwww.tldp.org; unten auf der Seite befindet sich ein Skript, das die angezeigte Tabelle ausgibt:
Um mir zu merken, welche Farben verfügbar sind, habe ich ein Skript geschrieben, das alle Farben auf dem Bildschirm ausgibt. Daniel Crisman hat eine viel schönere Version bereitgestellt, die ich unten einfüge:
#!/bin/bash # # This file echoes a bunch of color codes to the # terminal to demonstrate what's available. Each # line is the color code of one forground color, # out of 17 (default + 16 escapes), followed by a # test use of that color on all nine background # colors (default + 8 escapes). # T='gYw' # The test text echo -e "\n 40m 41m 42m 43m\ 44m 45m 46m 47m"; for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \ '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \ ' 36m' '1;36m' ' 37m' '1;37m'; do FG=${FGs// /} echo -en " $FGs \033[$FG $T " for BG in 40m 41m 42m 43m 44m 45m 46m 47m; do echo -en "$EINS \033[$FG\033[$BG $T \033[0m"; done echo; done echo
Eine ähnliche Tabelle gibt es als Demo imF-ANSI-Bibliothek:
Antwort4
echo -e "\n\033[4;31mLight Colors\033[0m \t\t\t \033[1;4;31mDark Colors\033[0m"
echo -e " \e[0;30;47m Black \e[0m 0;30m \t\t \e[1;30;40m Dark Gray \e[0m 1;30m"
echo -e " \e[0;31;47m Red \e[0m 0;31m \t\t \e[1;31;40m Dark Red \e[0m 1;31m"
echo -e " \e[0;32;47m Green \e[0m 0;32m \t\t \e[1;32;40m Dark Green \e[0m 1;32m"
echo -e " \e[0;33;47m Brown \e[0m 0;33m \t\t \e[1;33;40m Yellow \e[0m 1;33m"
echo -e " \e[0;34;47m Blue \e[0m 0;34m \t\t \e[1;34;40m Dark Blue \e[0m 1;34m"
echo -e " \e[0;35;47m Magenta \e[0m 0;35m \t\t \e[1;35;40m Dark Magenta\e[0m 1;35m"
echo -e " \e[0;36;47m Cyan \e[0m 0;36m \t\t \e[1;36;40m Dark Cyan \e[0m 1;36m"
echo -e " \e[0;37;47m Light Gray\e[0m 0;37m \t\t \e[1;37;40m White \e[0m 1;37m"
und so weiter.