Dodajemy trochę kolorów w CLI

Ostatni wpis był o tym jak zrobić skrypt CLI, teraz zajmiemy się wprowadzeniem kolorów. Kolory pomogą nam m.in w rozróżnianiu informacji od błędów, wizualnemu podziału bloków (np gdy skrypt musi wykonać wiele długich czynności to wizualnie można rozdzielić te sekcje od siebie, aby sprawniej przeczytać logi).

W tym wpisie skupimy się na „czystym” PHP’ie, ale wszystkie informacje zawarte tutaj wykorzystasz w dowolnym skrypcie napisanym w dowolnym języku. Więc zaczynamy zabawę od kolorowania tekstu.

Jak wspomniałem w poprzednim wpisie o tworzeniu skryptów shell kolorowanie zaczynamy od \e[kodm następnie tekst i \e[0m]


echo "Ten tekst będzie na \e[31mczerwono\e[0m \r\n";
echo "Ten tekst będzie na \e[32mzielono\e[0m \r\n";
echo "Ten tekst jest standardowy\r\n";

i teraz rozkładamy to na czynniki pierwsze

  • najpierw mamy znak ucieczki \e
  • kod koloru wg tabeli po niżej
  • m zakończenie modyfikatora
Kod koloruNazwa
0RESET
30CZARNY
31CZERWONY
32ZIELONY
33ŻÓŁTY
34NIEBIESKI
35FILETOWY
36CYJAN
37BIAŁY

Okej więc mamy już ogarnięte kolory, ale teraz przyda nam się tło. Tło robimy w prawie identyczny sposób co kolor, z tym że zaczynamy wszystko od liczby 4:

Kod koloruNazwa
0RESET
40CZARNY
41CZERWONY
42ZIELONY
43ŻÓŁTY
44NIEBIESKI
45FILETOWY
46CYJAN
47BIAŁY
echo "Ten tekst będzie na \e[41mczerwono\e[0m \r\n";
echo "Ten tekst będzie na \e[42mzielono\e[0m \r\n";
echo "Ten tekst jest standardowy\r\n";

Kolory mamy za sobą to teraz czas na inne modyfikacje. Np pogrubienie tesktu. Tutaj operujemy wartościami od 0 – reset do 8 – niewidoczne:

Kod koloruNazwa
0RESET
1Pogrubienie
2Przyciemnienie
3Kursywa
4Podkreślenie
5Migający
7Odwrócone kolory
8Niewidoczny

Uwaga! Wartość 6 jest pusta i nie jest używana. Jeszcze na koniec jak połączyć te wartości? Średnikiem:

echo "Ten tekst będzie na \e[1;31;42mjaki?\e[0m \r\n";

Jaki tego będzie efekt? Oprócz tego, że wyjątkowo brzydki? Spróbuj i pobaw się 😉

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *