Конечно, администрировать сервер — гораздо более сложное и полезное дело, чем настройка консоли. Но про сложные и полезные вещи уже и без меня много написано, а про консоль я что-то нигде не видел, а иногда очень хочется, чтобы что-то было цветным, и динамик не пищал как резаный. Вот и решил я написать этот рассказик. Здесь далеко не все возможности. Более подробно смотрите man 4 console_codes
.
\007 | издать звук |
---|---|
\033[10;#] | установить частоту звукового сигнала в герцах |
\033[11;#] | установить продолжительность звукового сигнала в миллисекундах |
Допускается объединение двух последних управляющих последовательностей. Например \033[10;55]\033[11;30]
может быть заменено эквивалентной последовательностью \033[10;55;11;30]
.
Пример:
#!/bin/sh # скрипт устанавливает продолжительность и частоту # звукового сигнала равными 5000Hz и 200ms, соответственно; # и издаёт звуковой сигнал # echo -en "\033[10;5000;11;200]\7"
\033[0m | все атрибуты по умолчанию |
---|---|
\033[1m | жирный шрифт (интенсивный цвет) |
\033[2m | полу яркий цвет (тёмно-серый, независимо от цвета) |
\033[4m | выделение (ярко-белый, независимо от цвета) |
\033[5m | мигающий |
\033[7m | реверсия (знаки приобретают цвет фона, а фон — цвет знаков) |
\033[22m | установить нормальную интенсивность |
\033[24m | отменить подчеркивание |
\033[25m | отменить мигание |
\033[27m | отменить реверсию |
\033[30 | чёрный цвет знаков |
\033[31 | красный цвет знаков |
\033[32 | зелёный цвет знаков |
\033[33 | коричневый цвет знаков |
\033[34 | синий цвет знаков |
\033[35 | фиолетовый цвет знаков |
\033[36 | цвет морской волны знаков |
\033[37 | серый цвет знаков |
\033[40 | чёрный цвет фона |
\033[41 | красный цвет фона |
\033[42 | зелёный цвет фона |
\033[43 | коричневый цвет фона |
\033[44 | синий цвет фона |
\033[45 | фиолетовый цвет фона |
\033[46 | цвет морской волны фона |
\033[47 | серый цвет фона |
Допускается объединение этих управляющих последовательностей. Например \033[1m\033[5m\033[36m
может быть заменено эквивалентной последовательностью \033[1;5;36m
.
Пример:
#!/bin/sh # # скрипт выводит на экран сообщение с использованием цвета # echo -en "\33[37;1;41m CAUTION \33[0m"
Пример:
#!/bin/sh # # скрипт запускает копию командного интерпретатора sh # с цветным приглашением # export PS1="\[\033[1;30m\][\[\033[0m\]\t\[\033[1;30m\];\ \[\033[0m\]\W\[\033[1;30m\]]\[\033[36;1m\]|\[\033[0m\] " echo "Now runing a new copy of shell width color prompt" echo -en "use \033[1;36mexit\033[0m command or" echo -e "\033[1;36m^D\033[0m to return back" sh # # обратите внимание на то, что управляющие последовательности # заключены в скобки "\[" и "\]" # Это сделано для того, чтобы shell не учитывал их при # оценке длины строки. # В противном случае длинные строки будут переноситься неверно. #
\033[#A | передвинуть курсор вверх на # строк |
---|---|
\033[#B | передвинуть курсор вниз на # строк |
\033[#С | передвинуть курсор вправо на # столбцов |
\033[#D | передвинуть курсор влево на # столбцов |
\033[#E | передвинуть курсор вниз на # строк и поставить в начало строки |
\033[#F | передвинуть курсор вверх на # строк и поставить в начало строки |
\033[#G | переместить курсор в указанный столбец текущей строки |
\033[#;#H | задает абсолютные координаты курсора (строка, столбец) |
Пример:
#!/bin/sh # # скрипт выводит на экран список устройств и на его фоне # печатает строку " It is devices list " # ls -l /dev echo -en "\033[12A\033[30G\033[1;5;31;41m It is devices list \033[0m\033[12E"
\033]Pnrrggbb | Изменяет палитру. n — номер цвета; rr, gg и bb — значения RGB-компонент в шестнадцатиричной форме |
---|---|
\033]R | Восстанавливает палитру, принятую по умолчанию |
Пример:
#!/bin/sh # # скрипт делает фон красноватым # такой фон удобно иметь на консоли root'a; # echo -en "\033]0550000"
\033[12;#] | Сделать текущей консоль с указанным номером |
---|
Пример:
#!/bin/sh # # скрипт делает текущей консоль на которой запущена # самая прожорливая задача # ps aOv | tail -n1 | ( read vpid vtty vother echo -en "\033[12;${vtty}]" )
\033]0;text\007 | Присваивает имя окну и иконке |
---|---|
\033]1;text\007 | Присваивает имя иконке |
\033]2;text\007 | Присваивает имя окну |
Пример:
#!/bin/sh # # скрипт присваивает имена окну и иконке # echo -en "\033]2;My Window\007\033]1;My Icon\007"
Этот материал опубликован с любезного разрешения автора.
Автор: © Алексей Мичурин
Источник статьи