Bash: obtenha o nome do diretório de trabalho atual, mas não o caminho completo

17

Sei que pwdimprimirá o caminho completo do diretório de trabalho atual, mas quero imprimir apenas o nome do diretório. Existe um comando simples para fazer isso sem analisar pwd?

user214632
fonte

Respostas:

26

Sim existe. Você pode usar o bash puro:

echo "${PWD##*/}"

ou melhor, para evitar o caso em que você poderia estar no -ediretório:

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

(obrigado a @gniourf_gniourf pela segunda sugestão).

Ou você pode usar a basenameferramenta:

basename "$PWD"
Radu Rădeanu
fonte
2
Tambémbasename ~+
Steven Penny
você também pode fazerecho "${PWD##*/}"
AMIC MING
2
1. o que é o diretório -e 2. "$ {PWD ## * /}" como isso funciona?
Sonique