Unter Linux können Sie Folgendes verwenden:
export PS1='$( readlink -f . )'
Beispiel:
$ export PS1='$( readlink -f . ) \$ ' /home/danielbeck $ ln -s /etc foo /home/danielbeck $ cd foo /etc $ _
Beachten Sie, dass Sie immer noch /home/danielbeck/foo
alles andere haben werden, z. B. das Auflösen von übergeordneten Verzeichnissen cd ..
, um das Beispiel fortzusetzen:
/etc $ cd .. /home/danielbeck $ _
Eine andere Option könnte darin bestehen, durch cd
eine Funktion zu ersetzen, die anstelle des symbolischen Links in das kanonische Verzeichnis eintritt.
function cd { if [[ $# -ne 1 ]] ; then builtin cd "$@" elif [[ "$1" = "-" ]] ; then builtin cd - else builtin cd "$( readlink -f "$1" )" fi }
Dies kann auch für alle cd
Argumente funktionieren und unterstützt sogar CDPATH
:
function cd { builtin cd "$@" builtin cd "$( readlink -f . )" }