Если ваш эмулятор терминала поддерживает стирание фона цвета (BCE), вы можете использовать escape-последовательность «erase display» для установки цвета фона дисплея.Например, это устанавливает красный фон в bash:
tput setab 1; tput clear
tput setab 1
устанавливает «Цвет фона ANSI» в 1 (красный).put clear
очищает экран, обычно с помощью кодов, чтобы переместить курсор в верхний / левый угол и очистить дисплей.Если вы не хотите стирать весь экран, вы можете просто стереть его с текущей строки до конца экрана:
tput setab 1; tput ed
Если ваш эмулятор терминала поддерживает BCE, различные команды, которые очищают частидисплей заполнит очищенную область текущим цветом фона.Вы можете сказать, поддерживает ли ваш эмулятор терминала BCE, используя tput
:
tput bce && echo Yes || echo No
. Если BCE поддерживается, будет отображаться «Да».
Чтобы использовать это, вы можете использовать shellфункции (или файлы сценариев), чтобы обернуть команды, для которых вы хотите установить цвет.Например, в bash это при установке ssh будет отображать синий цвет:
ssh () {
trap 'tput sgr0; tput ed' RETURN;
tput setab 4; tput ed
command ssh $*;
}
Использование trap
гарантирует, что он сбрасывает цвет фона (и другие текстовые атрибуты), когда функция возвращается.Я использовал tput ed
здесь, поэтому он влияет только на цвет фона вывода строк при запуске команды ssh.Вы можете использовать tput clear
, если вы предпочитаете заполнить весь экран, и вы не против стереть текущее содержимое в начале (и / или конце) команды.
Конечно, если что-тосделать с удаленным хостом цвет фона, он переопределит ваш цвет.