Я хотел бы изменить цвета (фон, шрифт, передний план) моего xterm от командной строки. Я услышал, что это может быть сделано с помощью escape-последовательностей ANSI.
Если это возможно:
Escape-последовательности ANSI состоят из последовательности символов, начинающихся с Символа ESC, символа 27. Следующий символ часто является (хотя не всегда) открытой квадратной скобкой: [
Команда эха может отправить символы ESC, если Вы указываете -e
и используйте \e
для Escape.
Стандарт ANSI определяет 8 цветов, плюс яркий режим, давая в общей сложности 16 возможностей. Последовательность:
\e[<number>m
Где <number>
один из:
Передний план:
Фон:
47 Белых
0 Сброса все
Таким образом сделать Ваш приоритетный красный и Ваше образование желтыми:
$ echo -e "\e[31m\e[43m"
И включить полужирный:
$ echo -e "\e[1m"
Конечно, можно объединить их всех вместе:
$ echo -e "\e[31m\e[43m\e[1m"
Существуют много много других управляющих кодов для того, чтобы сделать другие вещи.
Например - очищают экран и перемещают курсор в верхнее левое:
$ echo -e "\e[2J\e[1;1H"
Который полезен при изменении цвета:
$ echo -e "\e[31m\e[43m\e[1m\e[2J\e[1;1H"
Который изменит цвета, очистить экран и поместить курсор в верхнее левое. Ну, почти верхнее левое. Echo вставляет возврат каретки, таким образом, он спускает строку. Можно добавить -n
отозваться эхом для предотвращения этого, если Вы являетесь суетливыми.
Если Вы портите все это и не видите то, что Вы вводите Вас, может сбросить терминальные цвета к нормальному путем нажатия:
Ctrl+v [ Возврат на 0 м
В то, что Вы надеетесь, является командной строкой. Это будет хныкать о неизвестной команде, но Вы сможете видеть то, что Вы делаете снова.