Существует ли что-то подобное в Unix?
$ echo "this should show in red" | red
$ echo "this should show in green" | green
$ echo "this should show in blue" | blue
Здесь я не имею в виду появление буквенного цветового кода (например, для вставки в файл). Я просто имею в виду, что текст будет отображаться в терминале как этот цвет. Это возможно?
rgb001
, иrgb123
т.д. См perldoc.perl.org/Term/ANSIColor.html#Supported-Colors для более подробной информации.Вы бы использовали
tput
для этого:Это может быть использовано для построения трубы:
Основные цвета: черный (0), красный (1), зеленый, желтый, синий, пурпурный, голубой и белый (7). Вы найдете все подробности на
terminfo(5)
странице руководства .источник
С
zsh
:А потом:
источник
(как описано в комментариях, используйте
tput
вместо этого, если у вас есть)Использование оболочки Bourne и
echo
(встроенной) команды, которая понимает экранирование ANSI\e
с-e
опцией:или, более общий сценарий оболочки (скажем,
/usr/local/bin/colorize
):IFS=
необходим для предотвращения обрезки пробелов (подробнее см. POSIX ).источник
tput
.