Bash: Ermittelt den aktuellen Arbeitsverzeichnisnamen, aber nicht den vollständigen Pfad

17

Ich weiß, dass pwdder vollständige Pfad des aktuellen Arbeitsverzeichnisses gedruckt wird, aber ich möchte nur den Namen des Verzeichnisses drucken. Gibt es einen einfachen Befehl, um dies zu tun, ohne zu analysieren pwd?

user214632
quelle

Antworten:

25

Ja da ist. Sie können reines bash verwenden:

echo "${PWD##*/}"

oder besser, um den Fall zu vermeiden, dass Sie sich in einem -eVerzeichnis befinden könnten :

printf '%s\n' "${PWD##*/}"

(Danke an @gniourf_gniourf für den zweiten Vorschlag).

Oder Sie können basenameWerkzeug verwenden:

basename "$PWD"
Radu Rădeanu
quelle
2
Alsobasename ~+
Steven Penny
Sie können auch tunecho "${PWD##*/}"
AMIC MING
2
1. Was ist -e Verzeichnis 2. "$ {PWD ## * /}" Wie funktioniert das?
Sonique