Hvordan endre utgangsfargen til ekko i Linux PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Hvordan endre utgangsfargen til ekko i Linux

Introduksjon

De echo kommandoen sender ut en gitt streng til standard utgangsrør, vanligvis peker mot terminalen. Selv om standard utgangsrør kan peke til andre grensesnitt – den echo kommandoen brukes vanligvis til å skrive ut og vise meldinger i terminalen. Som standard arver teksten til den viste melding fargen til annen tekst i terminalen (som kan tilpasses i seg selv). Imidlertid er det flere måter du kan endre utdatafargen på echo – både for individuelle strenger og for hele meldinger.

I denne korte veiledningen tar vi en titt på hvordan du kan endre utdatafargen til echo i Linux-baserte systemer, ved å bruke ANSI escape-koder, tput og hvordan du kan gjøre denne prosessen mindre omfattende i Bash-skript.

Endre utdatafarge med ANSI Escape-koder

Den enkleste måten å endre farge på er gjennom ANSI escape-sekvenser/koder. Alle ANSI escape-koder starter med Escape tegn, som kan representeres i ulike formater – 27 i desimal, x1B i heksadesimal, som kontrollnøkkel ^[eller 33 i oktalt format. Sekvensene blir deretter fulgt av kommandoen:

33[command

Hvor åpningsbraketten (Kontrollsekvensintroduser) er valgfritt, men hjelper til med å skille kommandoen fra escape-tegnet. Når du setter en fargekode som kommandoen endrer den fargen på den møtende teksten:

33[0;34

0;34 er koden for fargen blå, for eksempel. Med dette alene kan du endre fargen på teksten i echo med:

33[0;34Text

Hvor Text ville være blåfarget. Alternativt kan du vurdere et enkelt bash-skript å skrive ut "Velkommen til Frankrike" i fargene til det franske flagget:

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

Valgfritt -e flagget til echo kommando lar deg bruke spesialtegn som n (nylinje) og t (tab) inne i inndatastrengen.

Når du kjører skriptet:

$ ./colors.sh

Det resulterer i:

Hvordan endre utgangsfargen til ekko i Linux PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

ANSI-kodene er ikke begrenset til farger – men kan også brukes for stil. Kodene 0..9 representerer tekststiler, mens kodene 30...37 representerer farger:

FARGE Koder Tekststiler Koder
Svart 30 Enkel tekst 0
Rød 31 Fet skrift 1
Grønn 32 Tekst med lav intensitet 2
Brun / Orange 33 Understrek tekst 4
Blå 34 Blinkende tekst 5
Purple 35 Usynlig tekst 8
Cyan 36 Gjennomstrekingstekst 9
Lysegrå 37

La oss lage et bash-skript for å utforske noen av disse alternativene:

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

Å kjøre dette skriptet resulterer i:

Hvordan endre utgangsfargen til ekko i Linux PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Sjekk ut vår praktiske, praktiske guide for å lære Git, med beste praksis, bransjeaksepterte standarder og inkludert jukseark. Slutt å google Git-kommandoer og faktisk lære den!

På samme måte kan du endre bakgrunnsfargen til disse tekstene ved å bruke koder 40..47:

farge Koder
Svart 40
Rød 41
Grønn 42
Brun / Orange 43
Blå 44
Purple 45
Cyan 46
Lysegrå 47

Å endre bakgrunnen til en gitt streng koker ned til den samme regelen som når du endrer skriftfargen – selve koden endrer oppførselen:

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

OBS: Som en tommelfingerregel – du kan oversette skriftfarger til bakgrunnsfarger ved å legge til 10. 30 er svart skriftfarge, 40 er svart bakgrunnsfarge.

Endre utdatafargen med tput

Et alternativ til ANSI-koder er å bruke tput kommando:

$ tput setaf color_code

setf gir mulighet for 8 farger, mens setaf tillater 256 farger, så avhengig av kommandoen du bruker, kan du gå mellom 0..7 og 0..255 som fargekodene. Begge kommandoer dedikerer 0..7 til samme fargekoder, mens med setaf, 8..15 er høyintensitetsfarger, og 16..231 er forskjellige nyanser av de første 8, og 232..255 er gråtonefarger:

Hvordan endre utgangsfargen til ekko i Linux PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
credit: Wikipedia

Endelig, tput lar deg også endre bakgrunnsfargen, legge til fet skrift, senke intensiteten osv. med andre kommandoer:

Tekststiler Kommandoer
Forgrunnsfarge setaf
Bakgrunnsfarge settab
Ingen stil sgv0
Fet skrift pin
Lav intensitet tekst Søn
Understrek tekst smul
Blinkende tekst blinke
Omvendt tekst rev

La oss lage et annet skript som bruker tput for å endre utdatafargen 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!"

Dette skriptet vil skrive ut følgende utdata i terminalen:

Hvordan endre utgangsfargen til ekko i Linux PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

tput-kommandoen gir en enkel måte å skrive ut hvilken som helst farge gjennom en enkel fargekode. La oss nå lage et skript som kan skrive ut hver fargekode som er tilgjengelig for tput-kommandoen:

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

Den vil skrive ut 0 til 255 farger og deres koder:

Hvordan endre utgangsfargen til ekko i Linux PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

konklusjonen

I denne korte guiden – har vi tatt en titt på hvordan du kan endre fargen på echosin utgang i Linux – ved å bruke ANSI Escape Sequences og tput kommando.

Vi har også utforsket hvordan du kan gjøre prosessen mindre omfattende ved å bruke Bash-variabler, justere bakgrunnsfarger og stiltekst.

Tidstempel:

Mer fra Stackabuse