In bash
den cd
eingebauten Verwendungen -P
und -L
Schalter; pwd
versteht sie auf dieselbe Weise:
user@host:~$ ln -s /bin foobar user@host:~$ cd -L foobar # follow link user@host:~/foobar$ pwd -L # print $PWD /home/user/foobar user@host:~/foobar$ pwd -P # print physical directory /bin user@host:~/foobar$ cd - # return to previous directory /home/user user@host:~$ cd -P foobar # use physical directory structure user@host:/bin$ pwd -L # print $PWD /bin user@host:/bin$ pwd -P # print physical directory /bin
Außerdem cd ..
kann es schwierig sein:
user@host:/bin$ cd user@host:~$ cd -L foobar user@host:~/foobar$ cd -L .. # go up, to ~/ user@host:~$ cd -L foobar user@host:~/foobar$ cd -P .. # go up, but not to ~/ user@host:/$
Siehe help cd
und help pwd
. Beachten Sie, dass Sie möglicherweise auch eine ausführbare Datei (dh keine eingebaute Shell) haben /bin/pwd
, die sich ähnlich verhält. In meinem Kubuntu ist der Unterschied der pwd
builtin ohne Option verwendet, -L
während /bin/pwd
standardmäßig verwendet -P
.
Sie können das Standardverhalten von cd
builtin durch set -P
( cd
als cd -P
) und set +P
( cd
als cd -L
) festlegen . Siehe help set
für weitere Einzelheiten.