Geben Sie einfach ein PS1='\u:\W\$ 'und drücken Sie die Eingabetaste.
Es "dauerhaft" zu ändern
In Ihrem ~/.bashrcfinden Sie den folgenden Abschnitt:
if ["$ color_prompt" = yes]; dann
PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ u @ \ h \ [\ 033 [00m \]: \ [\ 033 [01; 34m \] \ w \ [00m \] \ $ '
sonst
PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ u @ \ h: \ w \ $'
fi
Entfernen Sie das @\h, und ersetzen die \wmit einem Groß \W, so daß es:
if ["$ color_prompt" = yes]; dann
PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ u \ [\ 033 [00m \]: \ [\ 033 [01; 34m \] \ W \ [\ 033 [00m \] \ $ '
sonst
PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ u: \ W \ $'
fi
Speichern, beenden, Terminal schließen und ein anderes starten, um das Ergebnis zu sehen.
Tonnenweise mehr Optionen!
Sehen Sie hier für eine umfangreichere Howto, viele weitere Optionen
In dieser Antwort erfahren Sie, wie Sie mit einem winzigen Python-Skript die Eingabeaufforderung so einstellen, dass die Verkürzung nur auftritt, wenn Sie sich tief in einer Verzeichnisstruktur befinden.
Gibt es eine Möglichkeit, dies global zu gestalten? Mit anderen Worten, wenn ich mich an einen anderen Benutzer wende, wird diese Einstellung nur für mich übernommen (dh nicht für den Benutzer, wenn er normalerweise sein Konto verwendet)?
Ctote
Um eine gemeinsam genutzte .bashrc-Datei zu haben, die sowohl unter Linux als auch unter OSX funktioniert, habe ich seitdem auf unix.stackexchange.com/a/127800/10043
In der Antwort finden Sie jedoch den tatsächlich zu verwendenden Code.
Michael Durrant
104
Führen Sie diesen Code im aktuellen Terminal aus
PROMPT_DIRTRIM=3
Jetzt werden in der Bash-Eingabeaufforderung nur die letzten 3 Verzeichnisnamen angezeigt. Sie können 1 auswählen, um nur das aktuelle Verzeichnis anzuzeigen. Weitere Informationen finden Sie in der GNU-Dokumentation .
Nizza ... Ich habe ein bach_alias für diese (mit einer Funktion) hinzugefügt, promptdir() { PROMPT_DIRTRIM=$1; }nur um das Leben einfacher zu machen ...
Dgoosens
18
Dies ist meine bevorzugte Einstellung für die Eingabeaufforderung:
Mir ist klar, dass dies sehr alt ist, aber da niemand vorgeschlagen hat, einen Alias zu erstellen, dachte ich mir, dass ich etwas posten würde. Mit Bash Prompt Escape Sequences habe ich einen Alias erstelltshorten
Hier ~/.bash_aliaseswerden Sie feststellen, dass $ Blue var die Eingabeaufforderungsfarbe festlegt, die Sie je nach Vorliebe weglassen oder ändern können. Ich lösche auch das Terminal, wenn Sie short anrufen.
alias c='clear'
alias shorten='PS1="$Blue$USER:\W$ "&& c'
So erreichen Sie die gewünschte Eingabeaufforderungszeichenfolge des OP:
Eine Schritt-für-Schritt-Anleitung dafür wäre so nützlich, dass ich keine Ahnung habe, wie ich zu .bash_aliases komme. Vielen Dank
Kayote
2
"." Präfix kennzeichnet ein verstecktes Verzeichnis oder eine versteckte Datei. Die Tilde "~" ist eine Kurzform der Variablen $ HOME. "~ / .Bash_aliases" ist also nur eine Kurzform von "/home/$USER/.bash_aliases". Um ".bash_aliases" zu öffnen, können Sie entweder ein Terminal öffnen und "gedit /home/$USER/.bash_aliases" oder "gedit ~ / .bash_aliases" eingeben oder in Ihrem Ausgangsverzeichnis Strg-h eingeben, um versteckte Dateien anzuzeigen und die Datei direkt zu öffnen . Ich hoffe, das hilft. Möglicherweise möchten Sie auch eine Google-Suche nach nützlichen Aliasnamen durchführen.
function termprompt(){
PS1="${PS1//@\\h/}"# Remove @host
PS1="${PS1//\\w/\\W}"# Change from full directory to last name}
Platzieren Sie diese Funktion am oder in der Nähe des unteren Randes von, ~/.bashrcnachdem die PS1Linie vollständig berechnet wurde.
Sie würden termpromptimmer dann tippen, wenn Sie Ihre Eingabeaufforderung verkürzen wollten oder termpromptvon unten nach Ihrer ~/.bashrcBeständigkeit gerufen haben.
Der Vorteil dieser Technik gegenüber vielen anderen Antworten ist, dass Sie vier verschiedene .bashrcEinstellungen PS1vornehmen können (xterm + keine Farbe, xterm + Farbe, no-xterm + keine Farbe, no-xterm + Farbe). Diese Antwort unterstützt alle vier aktuellen Methoden und wahrscheinlich auch zukünftige Methoden.
Ein weiterer Vorteil ist, dass diese Methode weniger komplexe Steuercodes enthält, über die Sie hinweggehen müssen, um Ihre Änderungen einzufügen.
Antworten:
Zum Ändern nur für die aktuelle Terminalinstanz
Geben Sie einfach ein
PS1='\u:\W\$ '
und drücken Sie die Eingabetaste.Es "dauerhaft" zu ändern
In Ihrem
~/.bashrc
finden Sie den folgenden Abschnitt:Entfernen Sie das
@\h
, und ersetzen die\w
mit einem Groß\W
, so daß es:Speichern, beenden, Terminal schließen und ein anderes starten, um das Ergebnis zu sehen.
Tonnenweise mehr Optionen!
quelle
HOST='\033[02;36m\]\h' HOST=' '$HOST parse_git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; } TIME='\033[01;31m\]\t \033[01;32m\]' LOCATION=' \033[01;34m\]
pwd | sed "s # (/ [^ /] \ {1, \} / [^ /] \ {1, \} / [^ /] \ {1, \} /). * (/ [^ /] \ { 1, \} / [^ /] \ {1, \}) / \ {0,1 \} # \ 1_ \ 2 # g "' BRANCH=' \033[00;33m\]$(parse_git_branch)\[\033[00m\]\n\$ ' PS1=$TIME$USER$HOST$LOCATION$BRANCH PS2='\[\033[01;36m\]>'
Führen Sie diesen Code im aktuellen Terminal aus
Jetzt werden in der Bash-Eingabeaufforderung nur die letzten 3 Verzeichnisnamen angezeigt. Sie können 1 auswählen, um nur das aktuelle Verzeichnis anzuzeigen. Weitere Informationen finden Sie in der GNU-Dokumentation .
Der Effekt:
Wenn Sie es dauerhaft machen möchten, fügen Sie
~/.bashrc
am Anfang die folgende Zeile hinzu :oder eine andere Zahl größer als Null.
quelle
promptdir() { PROMPT_DIRTRIM=$1; }
nur um das Leben einfacher zu machen ...Dies ist meine bevorzugte Einstellung für die Eingabeaufforderung:
hinzugefügt in
~/.bashrc
es sieht aus wie das:
(mit einem Leerzeichen nach dem
$
Zeichen)quelle
Persönlich möchte ich nur den aktuellen Ordner in der Bash-Eingabeaufforderung sehen. Ich kann dies mit dem folgenden Befehl tun:
Wenn Sie möchten, dass es nach jedem Start wirksam wird, fügen Sie den obigen Befehl in Ihr ~ / .bashrc ein.
quelle
Mir ist klar, dass dies sehr alt ist, aber da niemand vorgeschlagen hat, einen Alias zu erstellen, dachte ich mir, dass ich etwas posten würde. Mit Bash Prompt Escape Sequences habe ich einen Alias erstellt
shorten
Hier
~/.bash_aliases
werden Sie feststellen, dass $ Blue var die Eingabeaufforderungsfarbe festlegt, die Sie je nach Vorliebe weglassen oder ändern können. Ich lösche auch das Terminal, wenn Sie short anrufen.So erreichen Sie die gewünschte Eingabeaufforderungszeichenfolge des OP:
Ich habe Farben in
~/.bashrc
Kopie definiert und von https://wiki.archlinux.org/index.php/Color_Bash_Prompt eingefügt . Nebenbei bemerkt, was ist mit Ansi-Code-Farben? Ich bin verwirrt, wenn ich es nur ansehe.quelle
Ich habe eine Funktion geschrieben, die Sie an Ihre Bedürfnisse anpassen können:
Platzieren Sie diese Funktion am oder in der Nähe des unteren Randes von,
~/.bashrc
nachdem diePS1
Linie vollständig berechnet wurde.Sie würden
termprompt
immer dann tippen, wenn Sie Ihre Eingabeaufforderung verkürzen wollten odertermprompt
von unten nach Ihrer~/.bashrc
Beständigkeit gerufen haben.Der Vorteil dieser Technik gegenüber vielen anderen Antworten ist, dass Sie vier verschiedene
.bashrc
EinstellungenPS1
vornehmen können (xterm + keine Farbe, xterm + Farbe, no-xterm + keine Farbe, no-xterm + Farbe). Diese Antwort unterstützt alle vier aktuellen Methoden und wahrscheinlich auch zukünftige Methoden.Ein weiterer Vorteil ist, dass diese Methode weniger komplexe Steuercodes enthält, über die Sie hinweggehen müssen, um Ihre Änderungen einzufügen.
quelle