Bash: получить имя текущего рабочего каталога, но не полный путь

17

Я знаю, что pwdнапечатает полный путь текущего рабочего каталога, но я хочу напечатать только имя каталога. Есть ли простая команда, чтобы сделать это без разбора pwd?

user214632
источник

Ответы:

26

Да, есть. Вы можете использовать чистый Bash:

echo "${PWD##*/}"

или лучше, чтобы избежать случая, когда вы можете быть в -eкаталоге:

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

(спасибо @gniourf_gniourf за второе предложение).

Или вы можете использовать basenameинструмент:

basename "$PWD"
Раду Рэдяну
источник
2
Такжеbasename ~+
Стивен Пенни
Вы также можете сделатьecho "${PWD##*/}"
AMIC MING
2
1. что такое каталог -e 2. "$ {PWD ## * /}" как это работает?
Соник