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


17

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

Ответы:


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 ## * /}" как это работает?
Соник
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.