Bash: obtenir le nom du répertoire de travail actuel, mais pas le chemin complet

18

Je sais que pwdcela imprimera le chemin complet du répertoire de travail actuel, mais je veux imprimer uniquement le nom du répertoire. Existe-t-il une commande simple pour le faire sans analyser pwd?

user214632
la source

Réponses:

27

Oui il y a. Vous pouvez utiliser pure bash:

echo "${PWD##*/}"

ou mieux, pour éviter le cas où vous pourriez être dans le -erépertoire:

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

(merci à @gniourf_gniourf pour la deuxième suggestion).

Ou vous pouvez utiliser l' basenameoutil:

basename "$PWD"
Radu Rădeanu
la source
2
Aussibasename ~+
Steven Penny
vous pouvez aussi faireecho "${PWD##*/}"
AMIC MING
2
1. qu'est-ce que le répertoire -e 2. "$ {PWD ## * /}" comment ça marche?
Sonique