Как Console2 может использовать текущий каталог в качестве имени вкладки Bash?

2748
Tobias Kienzler

Это вообще возможно? (в основном это подвеска к titleкоманде cmd.exe, о которой упоминает ответ Микеля, хотя я бы предпочел изменить полное имя вкладки вместо добавления заголовка окна)

4

2 ответа на вопрос

4
Mikel

В bashстандартные последовательности XTERM документированные на Как изменить название на XTerm, кажется, работает, например ,

echo -e "\033]0;custom title\007"; cat 

Поэтому попробуйте добавить это PS1в свой .bashrcфайл конфигурации, который вы используете, например:

PS1="\033]0;\$PWD\007$PS1" 

или используйте PROMPT_COMMANDвместо этого, если вы используете bash.


В cmd.exe, вы можете использовать, title <string>чтобы установить заголовок.

Вы бы связали это вместе, используя псевдоним doskey, например:

doskey cd=title $1 ^&^& cd $1 

Затем установите его для загрузки каждого нового, cmdиспользуя инструкции в разделе Автоматическая загрузка DOSKEY с помощью CMD .


В обоих случаях, чтобы показать только заголовок окна, перейдите Settings->Appearanceи установите
Use console window title*флажок.

Боюсь, `title` является встроенным в cmd.exe, поэтому bash утверждает, что` bash: title: команда не найдена` :(, но он работает для cmd.exe, поэтому +1 Tobias Kienzler 13 лет назад 0
спасибо за обновление - вау, доски все еще рядом? Хм, я бы, наверное, прежде всего `doskey alias = doske` Tobias Kienzler 13 лет назад 0
Да, мой оригинальный ответ был только для `cmd`. Я обновил его с инструкциями для `bash`. Mikel 13 лет назад 0
Ваше текущее решение не изменит рабочий каталог, вместо этого используется `PS1 = '\ 033] 0; \ u @ \ h: \ w \ 007' $ PS1` Tobias Kienzler 13 лет назад 0
Извините, да, отсутствовал обратный слеш. Это исправлено сейчас. Mikel 13 лет назад 0
@Tobias: fwiw, в наши дни «doskey» - это всего лишь тонкая оболочка вокруг Console API. grawity 13 лет назад 0
1
browniebytes

Прошло некоторое время, но единственный пост, который в основном ответил на мою проблему,
основанный на ответе Микеля и комментарии Тобиаса, добавив

PS1='\[\033]2;\u:\w\007\]'$PS1

чтобы ~/.bashrcпозволили consoleZ (преемник Console2), чтобы показать заголовок оболочки на вкладке consoleZ, а не испортить перенос строки в оболочке.

«Обратите внимание на использование \[...\], которое говорит bash игнорировать непечатаемые управляющие символы при вычислении ширины подсказки. В противном случае команды редактирования строк могут быть запутаны при установке курсора».
http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss4.3

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