Az Echo kimeneti színének megváltoztatása a Linux PlatoBlockchain Data Intelligence rendszerben. Függőleges keresés. Ai.

Az Echo kimeneti színének megváltoztatása Linuxban

Bevezetés

A echo parancs egy adott karakterláncot ad ki a szabványos kimeneti cső, jellemzően a terminálra mutat. Bár a szabványos kimeneti cső más interfészekre is mutathat – a echo parancs jellemzően üzenetek nyomtatására és megjelenítésére szolgál a terminálon. Alapértelmezés szerint a megjelenített üzenet szövege örökli a terminálban található egyéb szövegek színét (ami önmagában is testreszabható). Azonban – többféleképpen is módosíthatja a kimenet színét echo – mind az egyes karakterláncokhoz, mind a teljes üzenetekhez.

Ebben a rövid útmutatóban megvizsgáljuk, hogyan módosíthatja a kimeneti színt echo Linux alapú rendszerekben, ANSI escape kódokkal, tput és hogyan teheti ezt a folyamatot kevésbé bőbeszédűvé a Bash szkriptekben.

Módosítsa a kimeneti színt ANSI Escape kódokkal

A szín megváltoztatásának legegyszerűbb módja az ANSI escape szekvenciák/kódok. Minden ANSI escape kód a következővel kezdődik Escape karakter, amely többféle formátumban ábrázolható – 27 tizedesben, x1B hexadecimálisan, vezérlőgombként ^[vagy 33 nyolcas formátumban. A sorozatokat ezután a következő parancs követi:

33[command

Ahol a nyitó zárójel (Control Sequence Introducer) nem kötelező, de segít elkülöníteni a parancsot az escape karaktertől. Amikor a színkód parancsként megváltoztatja a bejövő szöveg színét:

33[0;34

0;34 például a kék szín kódja. Csak ezzel módosíthatja a szöveg színét echo val vel:

33[0;34Text

Hol Text kék színű lenne. Alternatív megoldásként fontolja meg egy egyszerű bash szkript kinyomtatását "Üdvözöljük Franciaországban" a francia zászló színeiben:

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

Opcionális -e zászló a echo parancs lehetővé teszi speciális karakterek használatát, mint pl n (újsor) és t (tab) a beviteli karakterlánc belsejében.

A szkript futtatása után:

$ ./colors.sh

Ennek eredménye:

Az Echo kimeneti színének megváltoztatása a Linux PlatoBlockchain Data Intelligence rendszerben. Függőleges keresés. Ai.

Az ANSI kódok nem korlátozódnak a színre, hanem stílusra is alkalmazhatók. A kódok 0..9 szövegstílusokat képviselnek, míg a kódok 30...37 színeket képviselnek:

színek kódok Szövegstílusok kódok
Fekete 30 Egyszerű szöveg 0
Piros 31 Félkövér szöveg 1
Zöld 32 Alacsony intenzitású szöveg 2
Brown / Orange 33 A szöveg aláhúzása 4
Kék 34 Villogó szöveg 5
Lila 35 Láthatatlan szöveg 8
Cián 36 Áthúzott szöveg 9
Világos Szürke 37

Hozzon létre egy bash szkriptet az alábbi lehetőségek felfedezéséhez:

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

A szkript futtatása a következőket eredményezi:

Az Echo kimeneti színének megváltoztatása a Linux PlatoBlockchain Data Intelligence rendszerben. Függőleges keresés. Ai.

Tekintse meg gyakorlatias, gyakorlati útmutatónkat a Git tanulásához, amely tartalmazza a bevált gyakorlatokat, az iparág által elfogadott szabványokat és a mellékelt csalólapot. Hagyd abba a guglizást a Git parancsokkal, és valójában tanulni meg!

Hasonlóképpen módosíthatja ezeknek a szövegeknek a háttérszínét kódok segítségével 40..47:

szín kódok
Fekete 40
Piros 41
Zöld 42
Brown / Orange 43
Kék 44
Lila 45
Cián 46
Világos Szürke 47

Egy adott karakterlánc hátterének megváltoztatása ugyanarra a szabályra vezethető vissza, mint a betűszín megváltoztatásakor – maga a kód megváltoztatja a viselkedést:

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

Jegyzet: Alapszabály – 10 hozzáadásával a betűszíneket háttérszínekre fordíthatja. 30 fekete betűszín, 40 fekete háttérszín.

Módosítsa a kimenet színét a tput segítségével

Az ANSI kódok alternatívája a tput parancs:

$ tput setaf color_code

setf 8 színt tesz lehetővé, míg setaf 256 színt tesz lehetővé, így a használt parancstól függően válthat közöttük 0..7 és a 0..255 mint a színkódok. Mindkét parancsok dedikálnak 0..7 azonos színkódokhoz, míg a setaf, 8..15 nagy intenzitású színek, és 16..231 az első 8 különböző árnyalatai, és 232..255 szürkeárnyalatos színek:

Az Echo kimeneti színének megváltoztatása a Linux PlatoBlockchain Data Intelligence rendszerben. Függőleges keresés. Ai.
jóváírás: Wikipedia

Végül, tput lehetővé teszi a háttérszín megváltoztatását, félkövér hozzáadását, az intenzitás csökkentését stb. más parancsokkal:

Szövegstílusok Parancsok
Előtér színe setaf
Háttér színe settab
Nincs stílus sgv0
Félkövér szöveg
Alacsony intenzitású szöveg V
A szöveg aláhúzása smul
Villogó szöveg pislog
Fordított szöveg fordulat

Hozzon létre egy másik szkriptet, amely használja tput a kimeneti szín megváltoztatásához 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!"

Ez a szkript a következő kimenetet írja ki a terminálon:

Az Echo kimeneti színének megváltoztatása a Linux PlatoBlockchain Data Intelligence rendszerben. Függőleges keresés. Ai.

A tput parancs egyszerű módot biztosít bármilyen szín nyomtatására egy egyszerű színkód segítségével. Most hozzunk létre egy szkriptet, amely képes kinyomtatni a tput parancshoz elérhető összes színkódot:

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

0-255 színt és azok kódjait nyomtatja ki:

Az Echo kimeneti színének megváltoztatása a Linux PlatoBlockchain Data Intelligence rendszerben. Függőleges keresés. Ai.

Következtetés

Ebben a rövid útmutatóban megvizsgáltuk, hogyan változtathatja meg a színét echo's kimenet Linux alatt – ANSI Escape Sequences és a tput parancs.

Azt is megvizsgáltuk, hogyan teheti kevésbé bőbeszédűvé a folyamatot Bash-változók, a háttérszínek és a szövegstílus módosításával.

Időbélyeg:

Még több Stackabus