Установите заголовок терминала bash на Mac OS X в текущий рабочий каталог

Установите заголовок терминала bash на Mac OS X в текущий рабочий каталог

Я знаю, что они много раз задавали этот вопрос, и у меня все отлично получилось, но я не понимаю, почему здесь все по-другому.

 #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

Связанный контент