Intereting Posts
Xubuntu Oneiric не запускает XFCE Расширить раздел Linux над внешней SD-картой Создайте временный скрипт с помощью sed (или любой другой утилиты) для немедленного создания сценария для запуска на месте «Tshark: нет интерфейсов, на которых можно сделать захват» в Amazon Linux AMI Что недоступно из пользовательского пространства? Разделить входной файл на X частей общего количества строк / X Открытие файла из Nemo не устанавливает текущий рабочий каталог Конки буфер слишком мал? изменение идентификатора владельца UID для 10 пользователей в каталоге 10 + TB iconv (для использования с rsync), чтобы избежать недопустимых имен файлов Windows в локальном разделе NTFS awk или sed для соответствия регулярному выражению в определенной строке, выход true, если успех, false, иначе Извлечь (и сбросить в stdout) только определенный диапазон строк из CSV? Завершение Bash – Как получить завершение имени файла для субоптимов Как изменить размер группы томов Есть ли способ сделать этот однострочный лайнер быстрее?

Изменение названия без изменения приглашения на Cygwin

У меня есть следующий скриптовый скрипт с этого сайта, который позволяет мне менять заголовок как в Putty, так и в Cygwin. В Putty, подключенном к хосту Linux, он изменяет заголовок и оставляет приглашение как есть. Но в Cygwin он меняет название, а затем приглашение становится простым знаком $ или #.

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

EDIT: В частности, в Cygwin мне нравится запрос по умолчанию для user@hostname за которым следует текущий каталог. Я хотел бы сохранить подсказку THAT.

EDIT II: И мне все равно, сохраняются ли цвета подсказки Cygwin по умолчанию, если это облегчает задачу. Я просто хочу, по крайней мере, каталог в подсказке.

Вот что я имею:

 function wtitle { if [ "$TERM" == "xterm" ] ; then # Remove the old title string in the PS1, if one is already set. PS1=`echo $PS1 | sed -r 's/^\\\\\[.+\\\\\]//g'` export PS1="\[\033]0;$1 - \u@\h:\w\007\]$PS1" else echo "You are not working in xterm. I cannot set the title." fi } 

`

Пожалуйста, добавьте

 PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\$' 

как последняя строка в ~ / .bashrc и снова войти или просто запустить

 source ~/.bashrc 

Я думаю, что запрос OP – установить заголовок окна, в котором работает эмулятор терминала. Я смущен ссылками на PS1, так как я могу добиться этого, просто запустив это …

 printf '\e]2;%s\a' "My Title" 

По крайней мере, это работает с mintty 2.7 (+ Cygwin 2.8). (Возможно, все изменилось за годы, прошедшие с того момента, когда вопрос был первоначально опубликован.)