![Установите заголовок терминала bash на Mac OS X в текущий рабочий каталог](https://rvso.com/image/1366220/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B5%20%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA%20%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B0%20bash%20%D0%BD%D0%B0%20Mac%20OS%20X%20%D0%B2%20%D1%82%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B9%20%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%20.png)
Я знаю, что они много раз задавали этот вопрос, и у меня все отлично получилось, но я не понимаю, почему здесь все по-другому.
#This will show the full path (/usr/bin)
PROMPT_COMMAND='echo -ne "\033]0;${PWD}\007"'
#This will set to the directory name only (bin)
PROMPT_COMMAND='echo -ne "\033]0;${PWD##*/}\007"'
Проблема в том, что я хочу использовать второй, но когда я открываю новый кран, он возвращается в рабочий каталог по умолчанию, тогда как первый кран сохраняет тот же рабочий каталог, если я открываю еще один кран, что мне и нужно.
решение1
Странно. Возможно, это связано с тем, когда происходит расширение шаблона в порядке обработки bash.
Что-то вроде `PROMPT_COMMAND='BASED=${PWD##*} echo -ne "\033]0;$BASED\007"' может сработать.
EDIT: Это не сработало? Может быть, это сработает
set_prompt () {
BASE_PATH="${PWD##*/}"
echo -ne "\033]0;$BASE_PATH\007"
}
PROMPT_COMMAND=set_prompt