Jak zmienić kolor wyjściowy echa w systemie Linux PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Jak zmienić kolor wyjściowy echa w systemie Linux?

Wprowadzenie

Połączenia echo polecenie wypisuje podany ciąg do standardowa rura wyjściowa, zwykle wskazujący na terminal. Chociaż standardowa rura wyjściowa może wskazywać na inne interfejsy – echo Polecenie jest zwykle używane do drukowania i wyświetlania komunikatów w terminalu. Domyślnie tekst wyświetlanego komunikatu dziedziczy kolor innego tekstu w terminalu (który sam w sobie jest konfigurowalny). Istnieje jednak kilka sposobów na zmianę koloru wyjściowego echo – zarówno dla pojedynczych ciągów, jak i całych wiadomości.

W tym krótkim przewodniku przyjrzymy się, jak zmienić kolor wyjściowy echo w systemach linuksowych z wykorzystaniem kodów escape ANSI, tput i jak możesz uczynić ten proces mniej gadatliwym w skryptach Bash.

Zmień kolor wyjściowy za pomocą kodów ucieczkowych ANSI

Najłatwiejszym sposobem zmiany koloru jest użycie sekwencji/kodów ucieczki ANSI. Wszystkie kody ucieczki ANSI zaczynają się od Escape znak, który można przedstawić w różnych formatach – 27 dziesiętnie, x1B w systemie szesnastkowym, jak klawisz kontrolny ^[lub 33 w formacie ósemkowym. Po sekwencjach następuje polecenie:

33[command

Gdzie otwierający wspornik (Wprowadzający sekwencje kontrolne) jest opcjonalny, ale pomaga oddzielić polecenie od znaku ucieczki. Kiedy umieścisz kod koloru jako polecenie zmienia kolor nadchodzącego tekstu:

33[0;34

0;34 to na przykład kod koloru niebieskiego. Za pomocą tego samego możesz zmienić kolor tekstu w echo z:

33[0;34Text

Gdzie Text miałby kolor niebieski. Alternatywnie rozważ wydrukowanie prostego skryptu bash "Witamy we Francji" w barwach flagi francuskiej:

#!/bin/bash  
BLUE='33[0;34m'
WHITE= '33[0;37m' 
RED= '33[0;31m'   
echo -e "${Blue}Welcome ${WHITE}to ${RED}France"

Opcjonalne -e flaga echo polecenie pozwala używać znaków specjalnych, takich jak n (nowa linia) i t (tabulator) wewnątrz ciągu wejściowego.

Po uruchomieniu skryptu:

$ ./colors.sh

Powoduje to:

Jak zmienić kolor wyjściowy echa w systemie Linux PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Kody ANSI nie ograniczają się do koloru – ale można je również zastosować dla stylu. Kody 0..9 reprezentują style tekstu, podczas gdy kody 30...37 reprezentują kolory:

Kolor Kody Style tekstu Kody
Czarny 30 Prosty tekst 0
Czerwony 31 Pogrubiony tekst 1
Zielony 32 Tekst o niskiej intensywności 2
Brązowy / pomarańczowy 33 Podkreśl tekst 4
Niebieski 34 Migający tekst 5
Fioletowy 35 Niewidoczny tekst 8
Cyan 36 Tekst przekreślony 9
Jasny Szary 37

Utwórzmy skrypt bash, aby zbadać niektóre z tych opcji:

#!/bin/bash
echo -e "33[0;33mSample text"
echo -e "33[1;33mBold text"
echo -e "33[2;33mLow intensity text"
echo -e "33[4;33mUnderline text"
echo -e "33[5;33mBlinking text"
echo -e "33[8;33mInvisible text"
echo -e "33[9;33mStrikethrough text"

Uruchomienie tego skryptu powoduje:

Jak zmienić kolor wyjściowy echa w systemie Linux PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zapoznaj się z naszym praktycznym, praktycznym przewodnikiem dotyczącym nauki Git, zawierającym najlepsze praktyki, standardy przyjęte w branży i dołączoną ściągawkę. Zatrzymaj polecenia Google Git, a właściwie uczyć się to!

Podobnie możesz zmienić kolor tła tych tekstów za pomocą kodów 40..47:

kolor Kody
Czarny 40
Czerwony 41
Zielony 42
Brązowy / pomarańczowy 43
Niebieski 44
Fioletowy 45
Cyan 46
Jasny Szary 47

Zmiana tła danego napisu sprowadza się do tej samej zasady, co przy zmianie koloru czcionki – sam kod zmienia zachowanie:

#!/bin/bash
BLUE='33[0;44m'
BLACK='33[0;30m'
WHITE='33[0;30;47m'
RED='33[0;41m'
echo -e "${BLUE}Welcome ${WHITE}to ${RED}France"

Uwaga: Ogólna zasada – możesz przełożyć kolory czcionek na kolory tła, dodając 10. 30 to czarny kolor czcionki, 40 to czarny kolor tła.

Zmień kolor wyjściowy za pomocą tput

Alternatywą dla kodów ANSI jest użycie tput polecenie:

$ tput setaf color_code

setf pozwala na 8 kolorów, natomiast setaf pozwala na 256 kolorów, więc w zależności od polecenia, którego używasz, możesz przechodzić między 0..7 i 0..255 jako kody kolorów. Obie polecenia dedykowane 0..7 do tych samych kodów kolorów, podczas gdy z setaf, 8..15 są kolorami o dużej intensywności i 16..231 są różne odcienie pierwszych 8 i 232..255 to kolory w skali szarości:

Jak zmienić kolor wyjściowy echa w systemie Linux PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
kredyt: Wikipedia

Wreszcie, tput umożliwia również zmianę koloru tła, dodanie pogrubienia, zmniejszenie intensywności itp. za pomocą innych poleceń:

Style tekstu Polecenia
Kolor pierwszego planu ustawić
Kolor tła ustaw
Brak stylu sgv0
Pogrubiony tekst
Tekst o niskiej intensywności przyciemniony
Podkreśl tekst smul
Migający tekst migać
Odwróć tekst obrót silnika

Stwórzmy kolejny skrypt, który używa tput aby zmienić kolor wyjściowy echo:

#!/bin/bash
YELLOW=`tput setaf 3`
echo "${YELLOW}Changing"
WHITE=`tput setaf 7 bold`
echo "${WHITE}Colors"
BLUE=`tput setaf 4 smul`
echo "${BLUE}With tput"
CYAN=`tput setaf 6 blink`
echo "${CYAN}is less"
RED=`tput setab 1 setaf 7`
echo "${RED}verbose!"

Ten skrypt wyświetli w terminalu następujące dane wyjściowe:

Jak zmienić kolor wyjściowy echa w systemie Linux PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Polecenie tput zapewnia łatwy sposób drukowania dowolnego koloru za pomocą prostego kodu koloru. Stwórzmy teraz skrypt, który może wydrukować każdy kod koloru dostępny dla polecenia tput:

#!/bin/bash
tput init 
 end = $ (($ (tput colors) - 1)) 
 w = 1 
 for c
  in $ (seq 0 $end) 
  do
eval "$(printf " tput setaf % 3 s " " $c ")" 
      echo - n "$_" 
      [[$c - ge $ ((w * 2))]] 
      offset = 2 || offset = 0 
      [[$ (((c + offset) % (w - offset))) - eq $ (((w - offset) - 1))]] 
      echo 
 done 
 tput init

Wydrukuje od 0 do 255 kolorów i ich kody:

Jak zmienić kolor wyjściowy echa w systemie Linux PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wnioski

W tym krótkim przewodniku – przyjrzeliśmy się, jak możesz zmienić kolor echo's w Linuksie – używając ANSI Escape Sequences i tput dowództwo.

Zbadaliśmy również, w jaki sposób możesz uczynić proces mniej gadatliwym, używając zmiennych Bash, dostosowując kolory tła i styl tekstu.

Znak czasu:

Więcej z Nadużycie stosu