Wenn ich mich in einem tiefen Verzeichnis befinde, sagen wir:
~/Desktop/Dropbox/School/2017/C/A3/
Wenn ich dann das Terminal öffne, heißt es
bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$
und dann schreibe ich meinen Befehl. Das ist sehr lang und jede Zeile, die ich in das Terminal schreibe, geht in die nächste Zeile. Ich möchte wissen, ob es eine Möglichkeit gibt, dass nur mein aktuelles Verzeichnis angezeigt wird. Ich möchte, dass Folgendes angezeigt wird:
bob@bob-ubuntu: A3/$
Auf diese Weise ist es sehr klar und ich kann immer pwd
mein gesamtes Verzeichnis sehen. Ich möchte nur nicht, dass das gesamte Verzeichnis im Terminal angezeigt wird, da es zu viel Speicherplatz beansprucht.
export PROMPT_DIRTRIM=3
in deinem zu setzen.bashrc
ist der perfekte Mittelweg zwischen\W
und\w
. Siehe: gnu.org/software/bash/manual/html_node/Bash-Variables.htmlAngenommen, Sie verwenden bash, ändern Sie die Eingabeaufforderungszeichenfolge (Variable PS1) so, dass sie
\W
anstelle von verwendet wird\w
.zB wenn deine PS1 aktuell ist
\u@\h:\w\$
, stell sie auf\u@\h:\W\$
Um dies dauerhaft zu machen, müssen Sie es in Ihren Bash-Startdateien ändern - zB
~/.bash_profile
oder~/.bashrc
.sehen
man bash
und die Suche nachPROMPTING
für weitere Informationen und eine Liste der Backslash-escaped Sonderzeichen.quelle
\w
in PS1 zu ändern\W
. Oder Sie können die Eingabeaufforderung ganz unten im Skript auf einen beliebigen Wert einstellen.in diesem Fall müssen Sie PS1 bearbeiten ,
Stattdessen
\w
haben Sie einen Befehl oder eine Variable, die den verkürzten Pfad anzeigt:original PS1
ändere es in
Beachten Sie, dass dies den Benutzernamen von ~ einfügt, wenn Sie sich in Ihrem Heimatverzeichnis befinden!
Um dies zu vermeiden, benötigen Sie ein paar Befehle in $ {PWD ## * /}, z
Die neue PS1 wird wie folgt aussehen
oOps, während ich versuche, die Welt zu retten, hatte ich noIdea | forgoten the \ W
quelle
Dies ist für alle
sh
Shells tragbar .Weisen Sie
PS1
in einer Ihrer Shell-Startdateien Folgendes zu:Die Eingabeaufforderung wird so aussehen
Wo
dir
ist der Basisname des aktuellen Verzeichnisses.Die
$PWD
Variable enthält den aktuellen Verzeichnispfad und entfernt${PWD##*/}
alles bis einschließlich des letzten/
in diesem Pfad.Die einfachen Anführungszeichen verhindern, dass die Shell-Form die Variablensubstitution zum Zeitpunkt der Zuweisung
$PS1
auswertet (der Wert von wird jedes Mal ausgewertet, wenn die Eingabeaufforderung angezeigt wird).Die
PS1
Variable sollte nicht exportiert werden, da sie nur von der aktuellen Shell verwendet wird.quelle
https://github.com/chrissound/SodiumSierraStrawberry
Ermöglicht das Abschneiden eines Pfades wie folgt:
quelle