
Als Kontext. Ich habe einen Ordner, den ich per symbolischem Link mit meinem $HOME
Verzeichnis verknüpft habe.
~> ls -s /var/www/to_link "$HOME/linked"
Ich cd
in"$HOME/linked"
Standardmäßig pwd
wird das aktuelle Verzeichnis einschließlich der symbolischen Links angezeigt. In diesem Fall wäre es /home/christopher/linked
. Wenn ich es zurückgeben möchte, /var/www/to_link
muss ich eingeben pwd -P
. Ich finde diese zweite Form im Allgemeinen nützlicher als die erste, aber ich möchte, dass beide verfügbar sind.
- Ist es möglich,
pwd
das Flag standardmäßig einzuschließen-P
und dann ein anderes Flag zum Einschließen von Symlinks zu verwenden? Im Grundepwd
würde also/var/www/to_link
undpwd -X
(oder ein anderes Flag) das Original zurückgeben/home/christopher/linked
.
Antwort1
Sowohl cd
als auch pwd
haben die Optionen -P
und -L
. Anscheinend möchten Sie cd -P
standardmäßig verwenden (wodurch $PWD auf das physische Verzeichnis gesetzt wird, was sich wiederum auf Ihre Bash-Eingabeaufforderung und die Ausgabe von auswirkt pwd
).
Sie können eines davon in Ihre .bashrc einfügen:
alias cd='cd -P'
cd () { builtin cd -P "$@"; }
Wenn Sie „~/linked“ in Ihrer Bash-Eingabeaufforderung sehen möchten, verwenden Sie das „logische“ cd:cd -L ~/linked