1

У меня есть проблема с заголовком окна в окне терминала на OS X:

  1. Запустить Терминал. Название окна "bash"
  2. Введите "ssh external" для подключения к внешнему серверу. Заголовок окна "user @ external:~"
  3. Типа "выход". Теперь я вернулся на свой локальный компьютер, но заголовок окна по-прежнему гласит «user @ external:~».

Как сделать так, чтобы заголовок окна возвращался к "bash", что, как я полагаю, будет правильным, поскольку я вышел из системы с внешнего сервера и вернулся на свою локальную машину?

Мой ~/.bash_profile имеет то же значение PS1:

экспорт PS1 = '\w $'

2 ответа2

0

Вы определяете заголовок, выводя специально сформулированную строку на ваш терминал.

Вы можете определить:

function update_title {
   echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007" ;
}

а затем используйте:

update_title

каждый раз, когда вы хотите обновить его.

Если вы хотите, чтобы оно обновлялось "все время", вы можете использовать поддержку вашей оболочки для функций "непосредственно перед отображением подсказки". напр., в (довольно приличном) bash:

export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'

Но я нахожу это немного излишним: он устанавливает заголовок перед каждым приглашением, а не только когда это необходимо ...

0

Вот функция, которая устанавливает заголовок для любой заданной вами строки, или имя хоста и текущий каталог, если вы не указали заголовок. Я называю это "xst" для "xterm set title".

xst () 
{ 
    if [ $# -eq 0 ]; then
        echo -e "\x1b]0;${HOSTNAME}:${PWD}\x07";
    else
        echo -e "\x1b]0;$*\x07";
    fi
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .