Bash: obtener el nombre del directorio de trabajo actual, pero no la ruta completa

17

Sé que pwdimprimirá la ruta completa del directorio de trabajo actual, pero quiero imprimir solo el nombre del directorio. ¿Hay un comando simple para hacer esto sin analizar pwd?

usuario214632
fuente

Respuestas:

26

Sí hay. Puedes usar puro bash:

echo "${PWD##*/}"

o mejor, para evitar el caso en el que podrías estar en el -edirectorio:

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

(Gracias a @gniourf_gniourf por la segunda sugerencia).

O puedes usar la basenameherramienta:

basename "$PWD"
Radu Rădeanu
fuente
2
Tambiénbasename ~+
Steven Penny
también puedes hacerloecho "${PWD##*/}"
AMIC MING
2
1. ¿Qué es -e directorio 2. "$ {PWD ## * /}" ¿cómo funciona?
Sonique