Bash
Вывод цветного скрипта (кросс-платформенный)
Поиск…
замечания
tput
запрашивает базу данных terminfo для информации, зависящей от терминала.
Материал из tput в Википедии :
При вычислении
tput
- стандартная команда операционной системы Unix, которая использует возможности терминала.В зависимости от системы,
tput
использует базу данных terminfo или termcap, а также просматривает среду для типа терминала.
из Bash Prompt HOWTO: Глава 6. Последовательности выхода ANSI: цвета и курсор Движение :
tput setab [1-7]
- Установите цвет фона с помощью ANSI-escape
tput setb [1-7]
- Установите цвет фона
tput setaf [1-7]
- Установите цвет переднего плана с помощью ANSI escape
tput setf [1-7]
- Установите цвет переднего плана
tput bold
- Установите жирный режим
tput sgr0
- Отключите все атрибуты (не работает так, как ожидалось)
color-output.sh
В первом разделе сценария bash можно определить некоторые переменные, которые служат помощниками для цветного или иного форматирования вывода терминала во время запуска скрипта.
Различные платформы используют разные последовательности символов для выражения цвета. Тем не менее, есть утилита tput
которая работает на всех системах * nix и возвращает терминальные строки окраски конкретной платформы через согласованный межплатформенный API.
Например, чтобы сохранить последовательность символов, которая превращает текст терминала красным или зеленым:
red=$(tput setaf 1) green=$(tput setaf 2)
Или, чтобы сохранить последовательность символов, которая сбрасывает текст по умолчанию:
reset=$(tput sgr0)
Затем, если скрипт BASH должен отображать разные цветные выходы, это может быть достигнуто с помощью:
echo "${green}Success!${reset}"
echo "${red}Failure.${reset}"