Как автоматически установить терминальный заголовок на имя каталога без пути

В настоящее время мой заголовок терминала/вкладки удара установлен на основе каталога, в котором я нахожусь. Например:

bob@bobscomputer:~/i/had/some/great/pie/yesterday

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

bob@bobscomputer:~/i/had...

4 раза.

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

yesterday

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

Существует ли способ сделать это?

10
задан 4 April 2014 в 18:37

2 ответа

Почему Вы хотите сделать это, не изменяя Вашу переменную PS1? Это - корректный способ сделать это.

при выполнении следующего Вы получите то, что Вы хотите:

export PS1="\[\e]0;\W\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

Это просто берет подсказку по умолчанию:

export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

... и замена \u@\h: \w с \W.

можно сделать то же самое с любой командой, которая повторяет правильный код Escape:

echo -en "\e]0;${PWD##*/}\a"

..., но тогда Вы постоянно боролись бы с ударом, чтобы мешать ему делать его с помощью PS1 (лучший способ).

11
ответ дан 16 November 2019 в 15:35

Да. Предварительно ожидайте: \[\e]0;\W\a\] к Вашему PS1. Это не изменит Ваше появление подсказок, но автоматически установит Ваш терминальный заголовок вкладок на базовое имя текущего рабочего каталога.

3
ответ дан 16 November 2019 в 15:35

Другие вопросы по тегам:

Похожие вопросы: