Gibt es eine einfache Möglichkeit, meine Bash-Eingabeaufforderung zu ändern, um die Farben und den angezeigten Text zu ändern? Ich habe gehört, dass dies in getan wird .bashrc
, aber ich habe keine netten, einfachen Möglichkeiten gefunden, es zu ändern. Wie werden Farben in Bash ausgedrückt?
8
bash+prompt
, obwohl ich nicht glaube, dass wir dort ein Tutorial haben.Antworten:
Ich hatte einmal die in meinem definiert
.bashrc
:Sie können sie dann beispielsweise verwenden mit:
Diese können Ihnen helfen.
Der Grund, warum ich sie eher zu Funktionen als zu Variablen gemacht habe, ist Faulheit. Ich wollte nur auf das Tippen verzichten. Wenn Sie nach Effizienzvariablen suchen, ist dies natürlich besser.
Letztendlich passen diese jedoch nur auf bestimmte Terminals. Wenn Sie Hilfe benötigen, konsultieren Sie die Dokumentation Ihres Terminals, nicht die von Bash oder einer anderen Shell.
quelle
bright=$'\e1m'
und so weiter. (Es sei denn , Sie Kompatibilität mit sehr alten Versionen benötigen , die nicht über die$'…'
Syntax.)blue
an der Eingabeaufforderung (oder in einem Shell-Skript) alsecho $blue
.Bash verwendet das Ansi-Farbschema - Wikipedia-Artikel: http://en.wikipedia.org/wiki/ANSI_escape_code#Colors
Hier ist zum Beispiel meine Eingabeaufforderung: (Ich mag meine Eingabeaufforderung in einer separaten Zeile, aber nicht jeder. Außerdem haben meine Begriffe einen dunklen Hintergrund - passen Sie die Farben an, wenn Ihre Begriffe hell sind.)
Die speziellen Eingabeaufforderungswerte sind in der Bash-Manpage unter "Eingabeaufforderung" beschrieben:
quelle
tput setf _n_
, den Escape-Code zum Festlegen der Vordergrundfarbe abzurufen.Zum Färben können Sie dies beispielsweise tun:
Fügen Sie einfach die folgende Zeile hinzu:
Vorschau:
Das sind meine bevorzugten Farben. Sie können jeden Teil der Farbe der Eingabeaufforderung anpassen, indem Sie
m
Codes (z. B.34m
) ändern, bei denen es sich um ANSI-Farbcodes handelt.Liste der ANSI-Farbcodes:
quelle
Keine dieser Antworten hat mir geholfen zu lernen, wie eine schnelle Anpassung funktioniert. Folgendes habe ich aus ein paar Stunden Suche in verschiedenen Foren, Stacks, Wikis usw. zusammengestellt:
Finden Sie Ihre Eingabeaufforderung
Suchen Sie Ihr
bashrc
fürPS1
entweder manuell oder mit Alt + F . Dies ist die erste Bash-Eingabeaufforderung, die angezeigt wird, wenn Sie einen Befehl eingeben.PS[2-4]
gibt es auch, aber diese werden selten verwendet.Farben definieren
Fügen Sie über Ihrer
PS1
Linie die folgenden Farbdefinitionen hinzu:Farben konfigurieren
Irgendwo in Ihrem (vermutlich grafischen) Terminal sollten Sie eine Anpassungsoption haben. Zum Beispiel verwende ich die Konsole von KDE :
Settings > Edit Current Profile... > Appearance > Edit...
zeigt diese Anpassungsoberfläche:Ändern Sie diese nun in die gewünschten Farben. Ihr Vordergrund ist Ihre Standardfarbe, und Sie haben die Farben 1 bis 8 definiert, die Sie auswählen können. Nicht, dass die Definitionen auf 0 basieren, während diese Anpassung und Ihre Variablen auf 1 basieren.
Verwenden Sie die Farben in Ihrer Eingabeaufforderung
Für meine Standardaufforderung habe ich:
\u
Sie ist u sername,\h
ist Ihr h ostname,\W
ist W hier sind Sie (das Verzeichnis), und\$
ist die Aufforderung Dingen (#
wenn Benutzer - ID = 0 [root]).Sie können dies anpassen, indem Sie
$c1
$ c2` usw. vor der Farbe hinzufügen , die Sie ändern möchten. Zum Beispiel habe ich:Das führt zu:
Hinweis: Sie müssen es
NC
am Ende verwenden, um es auf Ihre Standardfarbe zurückzusetzen, da sonst alles nach Ihrer Eingabeaufforderung (Ihrer Eingabe) die letzte Farbe in Ihrer Eingabeaufforderung hat.quelle