Вывод цветного текста в BASH
Вывод цветного текста в BASH

При написании даже простого скрипта на BASH последнее время, особенно после того, как всё можно раскрасить для WEB в HTML с помощью CSS, хочется получить, если не картинки в консоли, то хотя бы вывод разными цветами. И это вполне реально! В BASH для управления цветом вывода существуют коды, позволяющие менять не только цвет выводимого текста, но также его начертание (жирный, подчёркнутый, полу-яркий). А ещё можно задать фон выводимому тексту! В общем, можно так раскрасить вывод BASH-скрипта, то любой, кто его запустит, сломает себе глаза об монитор. О том, как работать с цветами см. в статье «Цветной вывод текста командой echo в Bash» =)

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Ниже привожу полный код подключаемого файла, который назначает разным переменным переключение на различные цвета:

#!/bin/sh
# https://mb4.ru/programming/bash/853-colors-for-bash.html

clear    # Очистка экрана

#Памятка, Таблица цветов и фонов
#Цвет		код			код фона

#black		30	40	\033[30m	\033[40m
#red		31	41	\033[31m	\033[41m
#green		32	42	\033[32m	\033[42m
#yellow		33	43	\033[33m	\033[43m
#blue		34	44	\033[34m	\033[44m
#magenta	35	45	\033[35m	\033[45m
#cyan		36	46	\033[36m	\033[46m
#white		37	47	\033[37m	\033[47m

# Дополнительные свойства для текта:
BOLD='\033[1m'			#	${BOLD}			# жирный шрифт (интенсивный цвет)
DBOLD='\033[2m'			#	${DBOLD}		# полу яркий цвет (тёмно-серый, независимо от цвета)
NBOLD='\033[22m'		#	${NBOLD}		# установить нормальную интенсивность
UNDERLINE='\033[4m'		#	${UNDERLINE}	# подчеркивание
NUNDERLINE='\033[4m'	#	${NUNDERLINE}	# отменить подчеркивание
BLINK='\033[5m'			#	${BLINK}		# мигающий
NBLINK='\033[0m'		#	${NBLINK}		# отменить мигание
INVERSE='\033[7m'		#	${INVERSE}		# реверсия (знаки приобретают цвет фона, а фон -- цвет знаков)
NINVERSE='\033[7m'		#	${NINVERSE}		# отменить реверсию
BREAK='\033[m'			#	${BREAK}		# все атрибуты по умолчанию
NORMAL='\033[0m'		#	${NORMAL}		# все атрибуты по умолчанию

# Цвет текста:
BLACK='\033[30m'		#	${BLACK}		# чёрный цвет знаков
RED='\033[31m'			#	${RED}			# красный цвет знаков
GREEN='\033[32m'		#	${GREEN}		# зелёный цвет знаков
YELLOW='\033[33m'		#	${YELLOW}		# желтый цвет знаков
BLUE='\033[34m'			#	${BLUE}			# синий цвет знаков
MAGENTA='\033[35m'		#	${MAGENTA}		# фиолетовый цвет знаков
CYAN='\033[36m'			#	${CYAN}			# цвет морской волны знаков
GRAY='\033[37m'			#	${GRAY}			# серый цвет знаков

# Цветом текста (жирным) (bold) :
DEF='\033[39m'			#	${DEF}
DGRAY='\033[1;30m'		#	${DGRAY}
LRED='\033[1;31m'		#	${LRED}
LGREEN='\033[1;32m'		#	${LGREEN}
LYELLOW='\033[1;33m'	#	${LYELLOW}
LBLUE='\033[1;34m'		#	${LBLUE}
LMAGENTA='\033[1;35m'	#	${LMAGENTA}
LCYAN='\033[1;36m'		#	${LCYAN}
WHITE='\033[1;37m'		#	${WHITE}

# Цвет фона
BGBLACK='\033[40m'		#	${BGBLACK}
BGRED='\033[41m'		#	${BGRED}
BGGREEN='\033[42m'		#	${BGGREEN}
BGBROWN='\033[43m'		#	${BGBROWN}
BGBLUE='\033[44m'		#	${BGBLUE}
BGMAGENTA='\033[45m'	#	${BGMAGENTA}
BGCYAN='\033[46m'		#	${BGCYAN}
BGGRAY='\033[47m'		#	${BGGRAY}
BGDEF='\033[49m'		#	${BGDEF}

tput sgr0				# Возврат цвета в "нормальное" состояние

Для подключение этого скрипта нужно пользоваться директивой source (иначе значения переменных с цветами не будут переданы в вызывающий скрипт, а так и останутся в локальной зоне видимости этого скрипта). Пример подключения:

source ./lib/colors.sh

Ну и пример использования (вызов переменной, относящейся к требуемому цвету):

echo -e "${BGRED}${BLACK}Всем привет!${NORMAL}${RED}: ${GREEN}Проверка связи =)${NORMAL}"

Для того, чтобы привести вывод в "нормальное" цветовое состояние, используйте вывод значения переменной ${NORMAL}.

Видео о том, как раскрасить BASH. Коды цветов шрифта и цвета фона для BASH скриптов.

Спасибо YAAP с Хабра-Хабра:
https://habr.com/ru/post/119436/

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню