Бывает необходимость в 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.
Комментариев нет:
Отправить комментарий