Бывает необходимость в sh скрипте вывести на экран сообщения выделенные цветом, я использую такую функцию:
Ссылки по теме: 1. The 256 color mode of xterm
Данный метод работает на Linux в оболочке bash, а также во FreeBSD в оболочке csh.
#!/bin/sh # Функция вывода цветных сообщений COLOR_STR() { case $2 in red) printf %b "\033[1;31m$1\033[0m\n" ;; green) printf %b "\033[1;32m$1\033[0m\n" ;; esac } # Пример вызова функции COLOR_STR "Красный Текст" red COLOR_STR "Зеленый Текст" green COLOR_STR "Зеленый Текст c несколькими пробелами" greenКонечно же функцию можно дополнить набором своих цветов. Вот небольшой sh скрипт, который выводит всевозможные цвета:
#!/bin/sh echo echo 'Table for 16-color terminal escape sequences.' echo 'Replace ESC with \\033 in sh.' echo echo 'Background | Foreground colors' echo '------------------------------------------------------------------' bg=40 && while [ $bg -le 47 ]; do bold=0 && while [ $bold -le 1 ]; do printf %b "\033[0m ESC[${bg}m | " fg=30 && while [ $fg -le 37 ]; do if [ $bold = "0" ]; then printf %b "\033[${bg}m\033[${fg}m [${fg}m " else printf %b "\033[${bg}m\033[1;${fg}m [1;${fg}m" fi fg=$(($fg+1)) done printf %b "\033[0m\n" bold=$(($bold+1)) done echo '------------------------------------------------------------------' bg=$(($bg+1)) done
Ссылки по теме: 1. The 256 color mode of xterm
Данный метод работает на Linux в оболочке bash, а также во FreeBSD в оболочке csh.
Комментариев нет:
Отправить комментарий