Kako spremeniti izhodno barvo odmeva v sistemu Linux PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Kako spremeniti izhodno barvo Echo v Linuxu

Predstavitev

O echo ukaz izpiše dani niz v standardna izhodna cev, ki običajno kaže na terminal. Čeprav lahko standardna izhodna cev kaže na druge vmesnike – na echo ukaz se običajno uporablja za tiskanje in prikazovanje sporočil v terminalu. Privzeto besedilo prikazanega sporočila podeduje barvo drugega besedila v terminalu (ki je samo po sebi prilagodljivo). Vendar – obstaja več načinov, kako lahko spremenite barvo izpisa echo – tako za posamezne nize kot za celotna sporočila.

V tem kratkem vodniku si bomo ogledali, kako lahko spremenite barvo izpisa echo v sistemih, ki temeljijo na Linuxu, z uporabo ubežnih kod ANSI, tput in kako lahko v skriptih Bash naredite ta postopek manj podroben.

Spremenite barvo izhoda z ubežnimi kodami ANSI

Najlažji način za spreminjanje barve je z ubežnimi zaporedji/kodami ANSI. Vse ubežne kode ANSI se začnejo z Escape znak, ki je lahko predstavljen v različnih oblikah – 27 v decimalki, x1B v šestnajstiški obliki kot kontrolni ključ ^[ali 33 v osmiški obliki. Zaporedjem nato sledi ukaz:

33[command

Kje je začetni oklepaj (Uvajalec kontrolnega zaporedja) ni obvezen, vendar pomaga ločiti ukaz od ubežnega znaka. Ko postavite a barvna koda kot ukaz spremeni barvo prihajajočega besedila:

33[0;34

0;34 je na primer koda za modro barvo. Samo s tem lahko spremenite barvo besedila v echo z:

33[0;34Text

Kje Text bi bil obarvan modro. Druga možnost je, da razmislite o preprostem bash skriptu za tiskanje “Dobrodošli v Franciji” v barvah francoske zastave:

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

Izbirno -e zastava echo ukaz vam omogoča uporabo posebnih znakov, kot je n (nova vrstica) in t (zavihek) znotraj vnosnega niza.

Ko zaženete skript:

$ ./colors.sh

Posledica tega je:

Kako spremeniti izhodno barvo odmeva v sistemu Linux PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Kode ANSI niso omejene na barvo – ampak jih je mogoče uporabiti tudi za slog. Kode 0..9 predstavljajo besedilne sloge, medtem ko kode 30...37 predstavlja barve:

Barva Kode Slogi besedila Kode
črna 30 Preprosto besedilo 0
Rdeča 31 Krepko besedilo 1
Zelen 32 Besedilo nizke intenzivnosti 2
Rjava / oranžna 33 Podčrtaj besedilo 4
Modra 34 Utripajoče besedilo 5
Vijolična 35 Nevidno besedilo 8
Cijan 36 Prečrtano besedilo 9
Svetlo Siva 37

Ustvarimo skript bash, da raziščemo nekatere od teh možnosti:

#!/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"

Zagon tega skripta povzroči:

Kako spremeniti izhodno barvo odmeva v sistemu Linux PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Oglejte si naš praktični, praktični vodnik za učenje Gita z najboljšimi praksami, standardi, sprejetimi v panogi, in priloženo goljufijo. Nehajte Googlati ukaze Git in pravzaprav naučiti it!

Podobno lahko spremenite barvo ozadja teh besedil z uporabo kod 40..47:

barva Kode
črna 40
Rdeča 41
Zelen 42
Rjava / oranžna 43
Modra 44
Vijolična 45
Cijan 46
Svetlo Siva 47

Spreminjanje ozadja danega niza se zmanjša na isto pravilo kot pri spreminjanju barve pisave – koda sama spremeni vedenje:

#!/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"

Opomba: Kot pravilo – barve pisave lahko prevedete v barve ozadja tako, da dodate 10. 30 črna barva pisave, 40 je črna barva ozadja.

Spremenite barvo izhoda s tipko tput

Alternativa kodam ANSI je uporaba tput ukaz:

$ tput setaf color_code

setf omogoča 8 barv, medtem ko setaf omogoča 256 barv, tako da lahko izbirate med njimi, odvisno od ukaza, ki ga uporabljate 0..7 in 0..255 kot barvne kode. oba ukazi posvetiti 0..7 na iste barvne kode, medtem ko z setaf, 8..15 so barve visoke intenzivnosti in 16..231 so različni odtenki prvih 8 in 232..255 so sivine barve:

Kako spremeniti izhodno barvo odmeva v sistemu Linux PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.
Zasluge: Wikipedia

Končno, tput omogoča tudi spreminjanje barve ozadja, dodajanje krepkosti, znižanje intenzivnosti itd. z drugimi ukazi:

Slogi besedila ukazi
Barva ospredja setaf
Barva ozadja setab
Brez stila sgv0
Krepko besedilo krepko
Besedilo nizke intenzivnosti Ne
Podčrtaj besedilo smul
Utripajoče besedilo utripa
Obrnjeno besedilo vrtljajev

Ustvarimo drug skript, ki uporablja tput da spremenite barvo izpisa 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!"

Ta skript bo na terminalu natisnil naslednje rezultate:

Kako spremeniti izhodno barvo odmeva v sistemu Linux PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Ukaz tput omogoča preprost način tiskanja katere koli barve s preprosto barvno kodo. Ustvarimo zdaj skript, ki lahko natisne vse barvne kode, ki so na voljo za ukaz 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

Natisne barve od 0 do 255 in njihove kode:

Kako spremeniti izhodno barvo odmeva v sistemu Linux PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

zaključek

V tem kratkem vodniku – smo si ogledali, kako lahko spremenite barvo echoizhod v Linuxu – z uporabo ubežnih zaporedij ANSI in tput ukaz.

Raziskali smo tudi, kako lahko postopek naredite manj podroben z uporabo spremenljivk Bash, prilagodite barve ozadja in slog besedila.

Časovni žig:

Več od Stackabuse