Ä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?

amigal
quelle

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}"

quelle
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"
E1Suave
quelle
Adam (oben) hat eine schöne Erklärung, wie das funktioniert