Mir gefällt die gewählte Antwort (Charles Duffy), aber seien Sie vorsichtig, wenn Sie sich in einem Symlink-Verzeichnis befinden und den Namen des Zielverzeichnisses wissen wollen. Leider glaube ich nicht, dass dies mit einem Expansionsausdruck mit nur einem Parameter möglich ist, vielleicht irre ich mich. Dies sollte funktionieren:
target_PWD=$(readlink -f .)
echo ${target_PWD##*/}
Um dies zu sehen, ein Experiment:
cd foo
ln -s . bar
echo ${PWD##*/}
meldet "bar"
DIRNAME
Um die führenden Verzeichnisse eines Pfades anzuzeigen (ohne eine fork-exec von /usr/bin/dirname auszulösen):
echo ${target_PWD%/*}
Dadurch wird z. B. aus foo/bar/baz -> foo/bar