Das Durchsuchen der Ergebnisse des letzten Befehls in Bash ist etwas schwierig, da die Eingabeaufforderung und die Ergebnisse dieselbe Farbe haben. Dies macht es schwierig, die Ergebnisse aufeinanderfolgender Befehle zu unterscheiden.
Wie ändere ich die Farbe beispielsweise auf Pink?
Antwort1
@Rob hat Recht. Insbesondere um zu Hellrot zu wechseln (Rosa ist keine verfügbare Farbe):
PS1 = "\[\033[1;31m\]\u:\w\$\[\033[0m\] "
# ^^^^^^^ ^^ Begin/end ANSI escape
# ^^^^^ "light red foreground"
# ^^^^^^^ Your original prompt
# ^^^^^^^^^^^ Reset color back to default foreground
Sie müssen ANSI-Escapesequenzen verwenden (in diesem Fall 1;31m
der Code für „hellroter Vordergrund“), die von \[\033[
und umschlossen sind \]
.
Bearbeiten:Hellviolett kommt Ihrer gewünschten Farbe möglicherweise näher; die PS1
Änderung bleibt dem Leser als Übung überlassen.
Antwort2
Wenn Sie eine alternative Lösung möchten, können Sie ein kleines Skript zum Festlegen der PS1-Farben der Terminalsitzung erstellen, ohne sie dauerhaft zu machen (sofern Sie keine dauerhaften Farben wünschen, folgen Sie der Lösung von Alex).
Wenn wir yellow.sh
ein Verzeichnis erstellen, darin speichern /usr/bin
und die Datei anschließend mit ausführbar machen, chmod +x yellow.sh
können wir sie bearbeiten yellow.sh
und den folgenden Code hinzufügen:
#!/bin/bash
clear
# Yellow color variable
ylw='\x1b[93m'
echo -e "${ylw}"
clear
Wenn Sie dieses Skript ausführen, ändert sich die Farbe Ihres Terminals in Gelb. Sie können die Farbe Ihrer PS1 auf die gleiche Weise mit diesem Code zurücksetzen:
#!/bin/bash
clear
# Reset color to default
rst='\x1b[0m'
echo -e "${rst}"
clear
Hier ist eine kurze Liste einiger Farbcodevariablen, die Sie verwenden können.
black=$'\x1b[90m' # Dark gray. Not used much.
red=$'\x1b[91m'
green=$'\x1b[92m'
yellow=$'\x1b[93m'
blue=$'\x1b[94m'
purple=$'\x1b[95m'
cyan=$'\x1b[96m'
pink=$'\x1b[97m'
default=$'\x1b[0m' # Reset to default color.
Verwendung für allgemeine Befehle in einfachen Skripten:
echo -e "${red} $(ls $1) ${default}" # Argument would be the directory you want to list.
Dies kann ziemlich schnell erledigt werden, je nachdem, wie Sie die zu verwendenden Farben einrichten. Die von mir bereitgestellten Farbcodes sind nicht alle. Je nachdem, welche Farben Ihr Terminal unterstützt, können Sie eine Palette von 256 Farben verwenden.