Die standardmäßige Cygwin-Eingabeaufforderung von "user@computer path
\ n $"
ist zu lang für mich. Ich möchte den Weg behalten.
Ich möchte, dass es wird:
Pfad $
Gibt es eine Konfigurationsdatei, die ich ändern kann, um dies zu tun?
Die standardmäßige Cygwin-Eingabeaufforderung von "user@computer path
\ n $"
ist zu lang für mich. Ich möchte den Weg behalten.
Ich möchte, dass es wird:
Pfad $
Gibt es eine Konfigurationsdatei, die ich ändern kann, um dies zu tun?
Antworten:
Die PS1
Umgebungsvariable steuert die Eingabeaufforderung:
PS1='\w $ '
Weitere Informationen zu diesem und anderen Konfigurationsthemen für Eingabeaufforderungen erhalten Sie im Abschnitt "PROMPTING" man bash
(unter der Annahme, dass bash
es sich um Ihre Shell handelt).
Bearbeiten Sie Ihre ~/.bashrc
Datei, um diese Änderung dauerhaft zu machen, und fügen Sie die obige Zeile hinzu.
Eine Login-Shell ist eine Shell, deren erstes Zeichen des Arguments Null ein - ist, oder eine Shell, die mit der Option --login gestartet wurde. Wenn bash als interaktive Anmeldeshell oder als nicht interaktive Shell mit der Option --login aufgerufen wird, werden zuerst Befehle aus der Datei / etc / profile gelesen und ausgeführt, sofern diese Datei vorhanden ist. Nach dem Lesen dieser Datei sucht sie in dieser Reihenfolge nach ~ / .bash_profile, ~ / .bash_login und ~ / .profile und liest und führt Befehle von der ersten Datei aus, die vorhanden und lesbar ist. Die Option --noprofile kann verwendet werden, wenn die Shell gestartet wird, um dieses Verhalten zu unterbinden. Wenn eine interaktive Shell gestartet wird, die keine Anmeldeshell ist, liest bash Befehle von ~ / .bashrc und führt sie aus, sofern diese Datei vorhanden ist.
Also kommt es darauf an ... ich benutze das --login nicht, also muss ich es zu ~ / .bashrc hinzufügen
Ich bin mir nicht sicher, warum weniger Kontext besser ist als mehr ... Die Tatsache, dass die Eingabeaufforderung eine neue Zeile enthält, bedeutet, dass die Länge der Eingabeaufforderung kein Problem sein sollte. Versuchen Sie Folgendes:
PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '
oder
export PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '
Dies gibt Ihnen eine farbige Eingabeaufforderung:
/full/path/to/current/folder
$your command text here
Auf diese Weise sehen Sie immer den vollständigen Ordnerkontext, erhalten aber dennoch eine vollständige Zeile für die Texteingabe. (Ich habe das übliche Leerzeichen nach dem '$' weggelassen, weil es der Klarheit halber farbig ist).
Colours are:
1. '/full/path/...' = yellow;
2. '$' (on next line) = cyan;
3. 'your command text...' = light grey.
Für diejenigen, die auch den Kontext 'user @ hostname' wollen:
PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '
oder
export PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '
Dies gibt Ihnen eine farbige Eingabeaufforderung:
user@hostname /full/path/to/current/folder
$your command text here
Das ist meine Vorliebe.
Colours are:
1. 'user' = (light) green;
2. '@' = pink;
3. 'hostname' = (light) green;
4. '/full/path/...' = yellow;
5. '$' (on next line) = cyan;
6. 'your command text...' = light grey.
(Nein, in diesem Beitrag gibt es keine Rechtschreibfehler - Queen's English;))