Я обнаружил через этот ответ что я годами наивно устанавливал цвета терминала в подсказке.
Теперь я изменил свой .bashrc, чтобы использовать команды tput для раскрашивания различных элементов моего приглашения. Единственный оставшийся у меня escape-код:
TITLEBAR="\[\033]2; PROD - \u@\h:\w \007\]"
Кто-нибудь знает, есть ли атрибут tput / terminfo, который я могу использовать для установки строки заголовка моего окна терминала, чтобы я мог устранить этот выход?
Фактические возможности - это tsl (в строку состояния) и fsl (из строки состояния), но, конечно, не все терминалы имеют их. В частности, в Linux вам нужно настроить терминал на xterm + sl или что-то подобное.
Вы можете проверить это с помощью
export TERM=xterm+sl
echo `tput tsl` Hello world `tput fsl`; sleep 10
Я бы не стал хранить эти побеги в .bashrc
Я не могу комментировать, поэтому дополнительный ответ:
Если вы используете tsl / fsl, обязательно сначала спросите терминал о hs. hs должно быть истинным, если поддерживаются tsl / fsl (и другие * sl).
tput hs && { echo ....; }
Посмотрев на файл xterm terminfo, я не нашел кода, идентичного этой команде, поэтому подозреваю, что его нет.
Если вам интересно, на странице руководства terminfo перечислены все команды, которые понимают termcap и terminfo. Я декомпилировал файл базы данных terminfo, используя:
# infocmp -L xterm
Для получения дополнительной информации о специальных функциях xterm "vt100 mode" см. Последовательности управления Xterm документ в разделе «Элементы управления операционной системы» для получения всех подробностей.