Ändern Sie die Farbe des Dateinamens


7

Ich schreibe Skripte, um ein großes System mit vielen Komponenten zu initialisieren und zu konfigurieren.
Jede Komponente verfügt über eine eigene Protokolldatei.

Ich möchte die Farbe des Komponentendateinamens in Rot ändern, wenn bei der Installation / Konfiguration ein Fehler auftritt.

Wie kann ich es tun?

Antworten:


9

Google findet Ihnen die Antwort. Hallo Welt in rot drucken:

echo -e "\033[0;31mHello world\033[0m"

Erklärt

<esc><attr>;<foreground>m

<esc>        = \033[  ANSI escape sequence, some environments will allow \e[ instead
<attr>       = 0      Normal text - bold possible with 1;
<foreground> = 31     30 + 1 = Color red - obviously!
m            = End of sequence

\033[0m       Reset colors (otherwise following lines will be red too)

Eine vollständige Liste der Farben und anderer Funktionen (fett usw.) finden Sie unter http://en.wikipedia.org/wiki/ANSI_escape_code .

Der Befehl tput erleichtert, falls verfügbar, das Leben:

echo -e "$(tput setaf 1)Hello world$(tput sgr0)"

Kann sogar Sequenzen in Vars speichern, um sie einfacher zu verwenden.

ERR_OPEN=$(tput setaf 1)
ERR_CLOSE=$(tput sgr0)
echo -e "${ERR_OPEN}Hello world${ERR_CLOSE}"


1

Wenn Sie daran interessiert sind, Farben als Variablen festzulegen, kann Folgendes hilfreich sein, um ein Farbfeld für Bash-Skripte festzulegen

COL_BLACK="\x1b[30;01m"
COL_LIGHTBLACK="\x1b[30;11m"
COL_BLUE="\x1b[34;01m"
COL_LIGHTBLUE="\x1b[34;11m"
COL_CYAN="\x1b[36;01m"
COL_LIGHTCYAN="\x1b[36;11m"
COL_GRAY="\x1b[37;11m"
COL_LIGHTGRAY="\x1b[37;01m"
COL_GREEN="\x1b[32;01m"
COL_LIGHTGREEN="\x1b[32;11m"
COL_PURPLE="\x1b[35;01m"
COL_LIGHTPURPLE="\x1b[35;11m"
COL_RED="\x1b[31;01m"
COL_LIGHTRED="\x1b[31;11m"
COL_YELLOW="\x1b[33;01m"
COL_LIGHTYELLOW="\x1b[33;11m"

COL_RESET="\x1b[39;49;00m"

Adam (oben) hat eine schöne Erklärung, wie das funktioniert
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.