Normalerweise war meine Terminal-Eingabeaufforderung
username place$
jetzt zeigt es nur
bash-4.2$
und alle Farbeinstellungen sind verloren gegangen (im Terminalprofil habe ich das gleiche Farbschema, aber es werden nur keine Farben angezeigt)
Ich habe keine Ahnung, was passiert (und ich weiß nicht, wie ich danach suchen soll).
Es ändert sich von nichts, ich habe mit Eclipse und Maven gearbeitet, ein neues Terminal eröffnet und das neue Terminal hatte keine Farben.
Hinweis: Ich habe keine ~ / .bashrc-Datei, aber ein ~ / .bash_profile.
bash
terminal
gnome-terminal
bashrc
lcjury
quelle
quelle
bash -l
.echo $PS1
in der Login-Version mit den Farben.Antworten:
Die Eingabeaufforderungsvariable
$PS1
wurde wahrscheinlich nicht festgelegt, daher wird die integrierte Standardeinstellung\s-\v\$
verwendet.Wenn bash interaktiv gestartet wird, wird eine Konfigurationsdatei erstellt, normalerweise entweder
~/.bashrc
oder~/.bash_profile
, sofern vorhanden, und auf diese Weise wird eine schickere Eingabeaufforderung festgelegt. Vonman bash
:Wenn Ihre Eingabeaufforderung nicht festgelegt ist, kann dies in zwei verschiedenen Kontexten auftreten: Anmeldeshells und Nicht-Anmeldeshells. Wenn Sie einen Display-Manager verwenden, um sich direkt bei der GUI anzumelden, treten keine Anmeldeshells auf, es sei denn, Sie wechseln zu einer virtuellen Konsole (über z. B. CtrlAlt+ F1 bis F6). Sie können Ihr Bash-Anmeldeprofil jedoch in der GUI testen, indem Sie eine neue Anmeldeshell explizit öffnen :
bash -l
.Bei Nicht-Login-Shells tritt ein Problem auf
Wenn das Problem beispielsweise bei normalen GUI-Terminals auftritt,
~/.bashrc
fehlt entweder Ihr Terminal oder es wurde bearbeitet, um die Beschaffung einer globalen Datei wahrscheinlich auszuschließen/etc/bashrc
.Wenn
~/.bashrc
nicht vorhanden, sollte ein/etc/skel/.bashrc
verwendet werden, um es für neue Benutzer zu erstellen. Kopieren Sie diese Datei einfach in Ihr Home-Verzeichnis, und Ihre Standardaufforderung sollte zur nächsten neuen Shell zurückkehren, die Sie öffnen.Wenn
~/.bashrc
vorhanden, überprüfen Sie, ob irgendwo eine Zeile vorhanden ist, aus der Folgendes stammt/etc/bashrc
:Wenn nicht, überprüfen Sie, ob diese Datei vorhanden ist (zumindest in den meisten Linux-Distributionen) und fügen Sie eine solche Zeile zu Ihrer hinzu
~/.bashrc
.Problem tritt mit Login-Shells auf
Wenn das Problem sowohl bei Login-Shells als auch bei Nicht-Login-Shells auftritt, ist das Problem wahrscheinlich dasselbe wie oben. Wenn es nur bei Login-Shells auftritt , haben Sie entweder keine der Dateien, die für Login-Shells unter dem obigen INVOCATION-Zitat angegeben sind, oder sie beziehen Ihre nicht
~/.bashrc
, was bei den meisten Linux-Distributionen normal ist. Wenn keine dieser Dateien vorhanden ist, erstellen Sie~/.bash_profile
Folgendes:Auf diese Weise können Sie Ihre Konfiguration größtenteils in einer Datei (
~/.bashrc
) speichern .Wenn Sie unabhängig davon, was Sie tun, keine Eingabeaufforderung erhalten können, können Sie eine erstellen und auf folgende
~/.bashrc
Weise einfügen:Dies liegt daran, dass $ PS1 festgelegt ist und einen Standardwert für interaktive Shells hat. Sie möchten ihn auch nicht anders festlegen, da andere Benutzer diesen Wert möglicherweise verwenden, um zu bestimmen, ob es sich um eine interaktive Umgebung handelt.
Die Bash-Manpage enthält einen Abschnitt PROMPTING, in dem beschrieben wird, wie Sie eine Eingabeaufforderung mit dynamischen Funktionen wie Ihrem Benutzernamen und dem aktuellen Arbeitsverzeichnis festlegen, z. B.:
Hier finden Sie eine Anleitung zur Verwendung von Farbe . Achten Sie darauf, dass Sie nicht gedruckte Zeichen in
\[
und einschließen sollten\]
(dies wird am Ende der Antwort zu Farben erläutert).quelle
Fügen Sie dies einfach in ~ / .bashrc und ~ / .bash_profile als root für den betroffenen Benutzer ein.
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
quelle
Musste Cygwin Bash aus Sicherheitsgründen aktualisieren.
die alte Bash = 4.1.10 (4) -Release (i686-pc-cygwin) circa 2009
die neue bash = 4.4.12 (3) -Veröffentlichung (i686-pc-cygwin) circa 2016
Um genau das gleiche Erscheinungsbild zu erhalten, musste Folgendes hinzugefügt werden
.bashrc
:Hinweis: einschließlich der
cd $HOME
quelle