Ein Standardflag rückgängig machen

240
cwallenpoole

Als Kontext Ich habe einen Ordner, den ich in meinem $HOMEVerzeichnis verlinkt habe .

~> ls -s /var/www/to_link "$HOME/linked" 

Ich cdin"$HOME/linked"

pwdZeigt standardmäßig das aktuelle Verzeichnis einschließlich der Symlinks an. In diesem Fall wäre es so /home/christopher/linked. Wenn ich es zurückgeben möchte, muss /var/www/to_linkich tippen pwd -P. Im Allgemeinen finde ich diese zweite Form nützlicher als die erste, aber ich möchte, dass beide verfügbar sind.

  • Ist es möglich, pwddas -PFlag standardmäßig einzuschließen und dann ein anderes Flag zum Einfügen von Symlinks zu verwenden? Im Grunde pwdwürde also zurückkehren /var/www/to_linkund pwd -X(oder eine andere Flagge) das Original zurückgeben /home/christopher/linked.
0

1 Antwort auf die Frage

1
glenn jackman

Sowohl cdund pwdhaben Optionen -Pund -L. Anscheinend möchten Sie cd -Pstandardmäßig verwenden (wodurch $ PWD auf das physische Verzeichnis gesetzt wird, das sich auf Ihre Bash-Eingabeaufforderung und die Ausgabe von auswirkt pwd).

Sie können eine 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 die "logische" CD: cd -L ~/linked