Керуючі кодові послідовності терміналу ansi

Встановлює кілька налаштувань атрибутів. Нижче наведено список деяких стандартних атрибутів.

0 Скинути всі атрибути
1 Bright (підвищена яскравість)
2 Dim (затемнення)
4 Underscore (нижнє підкреслення)
5 Blink (миготіння)
7 Reverse (інверсія)
8 Hidden (приховати текст)

Foreground Colours (колір пера, цим кольором виводиться текст):

30 Black (чорний)
31 Red (червоний)
32 Green (зелений)
33 Yellow (жовтий)
34 Blue (синій)
35 Magenta (пурпурний)
36 Cyan (блакитний)
37 White (білий)

Background Colours (колір паперу, або колір фону):

40 Black (чорний)
41 Red (червоний)
42 Green (зелений)
43 Yellow (жовтий)
44 Blue (синій)
45 Magenta (пурпурний)
46 Cyan (блакитний)
47 White (білий)

Керуючі кодові послідовності терміналу ANSI (ANSI escape sequences, так звані esc-коди, або esc-послідовності) дозволять Вам переміщати позицію курсора (позицію виведення тексту) в будь-яке потрібне знакоместо екрану. Це особливо корисно для повноекранного інтерфейсу з користувачем, який генерується скриптами shell, але також може використовуватися в запрошеннях введення (prompts).

Для прикладу спробуйте вивести наступний рядок коду в запрошенні терміналу (найкраще результат роботи цієї команди буде видно, якщо вставити кілька порожніх рядків у вікні терміналу):

Ця команда повинна перемістити курсор на 7 рядків вгору, надрукувати "BASH", і потім повернутися в початкову позицію, щоб зробити нормальне запрошення терміналу (prompt). Це не просте запрошення, а просто демонстрація переміщення курсору по екрану, з використанням кольору, щоб позначити результат роботи команди. Зверніть увагу, що ESC-код в командах представлений в вісімковому форматі (\ 033).

Ще один приклад, збережіть цей текст у файлі і назвіть його "clock":

Промт, запущений цим скриптом, виглядає як звичайний, за винятком того, що в правому верхньому куті екрану будуть виведено значення годин в 24-годинному форматі. Цей скрипт не працюватиме в терміналах, які не підтримують збереження і відновлення позиції курсора терміналу. При спробі виконати цей скрипт в будь-якому з "неправильних" емуляторів терміналу (які не підтримують команду збереження і відновлення позиції курсора), годинник відобразяться правильно, але промт з'явиться на другому рядку терміналу.

1. ANSI / VT100 Terminal Control Escape Sequences site: termsys.demon.co.uk.
2. Terminal control / Cursor positioning site: rosettacode.org.
3. ANSI Escape Sequences: Colours and Cursor Movement site: tldp.org.