Comment changer la couleur de sortie d'Echo dans Linux PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Comment changer la couleur de sortie d'Echo sous Linux

Introduction

La echo commande renvoie une chaîne donnée à la tuyau de sortie standard, pointant généralement vers le terminal. Bien que le tube de sortie standard puisse pointer vers d'autres interfaces - le echo La commande est généralement utilisée pour imprimer et afficher des messages dans le terminal. Par défaut, le texte du message affiché hérite de la couleur des autres textes du terminal (qui est personnalisable en soi). Cependant, il existe plusieurs façons de modifier la couleur de sortie de echo – à la fois pour les chaînes individuelles et pour les messages entiers.

Dans ce petit guide, nous verrons comment vous pouvez changer la couleur de sortie de echo dans les systèmes basés sur Linux, en utilisant les codes d'échappement ANSI, tput et comment vous pouvez rendre ce processus moins verbeux dans les scripts Bash.

Changer la couleur de sortie avec les codes d'échappement ANSI

Le moyen le plus simple de changer la couleur consiste à utiliser des séquences/codes d'échappement ANSI. Tous les codes d'échappement ANSI commencent par Escape caractère, qui peut être représenté sous différents formats – 27 en décimal, x1B en hexadécimal, comme clé de contrôle ^[ou 33 au format octal. Les séquences sont ensuite suivies de la commande :

33[command

Où la parenthèse ouvrante (Introducteur de séquence de contrôle) est facultatif, mais permet de séparer la commande du caractère d'échappement. Lorsque vous mettez un code couleur comme la commande, il change la couleur du texte entrant :

33[0;34

0;34 est le code de la couleur bleue, par exemple. Avec cela seul, vous pouvez changer la couleur du texte dans echo avec:

33[0;34Text

Text serait de couleur bleue. Sinon, envisagez un simple script bash pour imprimer "Bienvenue en France" aux couleurs du drapeau français :

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

Le facultatif -e drapeau du echo La commande vous permet d'utiliser des caractères spéciaux comme n (nouvelle ligne) et t (tabulation) à l'intérieur de la chaîne d'entrée.

Une fois le script exécuté :

$ ./colors.sh

Il en résulte :

Comment changer la couleur de sortie d'Echo dans Linux PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Les codes ANSI ne se limitent pas à la couleur, mais peuvent également être appliqués au style. Les codes 0..9 représentent les styles de texte, tandis que les codes 30...37 représenter les couleurs :

Couleur Codes Styles de texte Codes
Noir 30 Texte simple 0
Rouge 31 Le texte en gras 1
Vert 32 Texte de faible intensité 2
Marron / Orange 33 Souligner le texte 4
Bleu 34 Texte clignotant 5
Violet 35 Texte invisible 8
Cyan 36 Texte barré 9
Gris Clair 37

Créons un script bash pour explorer certaines de ces options :

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

L'exécution de ce script entraîne :

Comment changer la couleur de sortie d'Echo dans Linux PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Consultez notre guide pratique et pratique pour apprendre Git, avec les meilleures pratiques, les normes acceptées par l'industrie et la feuille de triche incluse. Arrêtez de googler les commandes Git et en fait apprendre il!

De même, vous pouvez modifier la couleur de fond de ces textes à l'aide de codes 40..47:

Couleur Codes
Noir 40
Rouge 41
Vert 42
Marron / Orange 43
Bleu 44
Violet 45
Cyan 46
Gris Clair 47

Changer l'arrière-plan d'une chaîne donnée revient à la même règle que pour changer la couleur de la police - le code lui-même change le comportement :

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

Remarque: En règle générale, vous pouvez traduire les couleurs de police en couleurs d'arrière-plan en ajoutant 10. 30 est la couleur de police noire, 40 est la couleur de fond noire.

Changez la couleur de sortie avec le tput

Une alternative aux codes ANSI consiste à utiliser le tput commander:

$ tput setaf color_code

setf permet 8 couleurs, tandis que setaf permet 256 couleurs donc selon la commande que vous utilisez, vous pouvez aller entre 0..7 ainsi que 0..255 que les codes couleurs. Les deux les commandes dédient 0..7 aux mêmes codes couleurs, tandis qu'avec setaf, 8..15 sont des couleurs à haute intensité, et 16..231 sont des teintes différentes des 8 premiers, et 232..255 sont des couleurs en niveaux de gris :

Comment changer la couleur de sortie d'Echo dans Linux PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
Crédit: Wikipédia

Enfin, tput permet aussi de changer la couleur de fond, d'ajouter du gras, de baisser l'intensité, etc. avec d'autres commandes :

Styles de texte Commandes
Couleur de premier plan Setaf
Couleur de fond setab
Pas de style SGV0
Le texte en gras goupille
Texte de faible intensité dim
Souligner le texte smul
Texte clignotant cligner des yeux
Inverser le texte tour

Créons un autre script qui utilise tput pour changer la couleur de sortie 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!"

Ce script imprimera la sortie suivante dans le terminal :

Comment changer la couleur de sortie d'Echo dans Linux PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

La commande tput offre un moyen simple d'imprimer n'importe quelle couleur grâce à un simple code couleur. Créons maintenant un script capable d'imprimer chaque code couleur disponible pour la commande 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

Il imprimera de 0 à 255 couleurs et leurs codes :

Comment changer la couleur de sortie d'Echo dans Linux PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Conclusion

Dans ce petit guide, nous avons vu comment vous pouvez changer la couleur de echola sortie de sous Linux - en utilisant les séquences d'échappement ANSI et le tput commander.

Nous avons également exploré comment vous pouvez rendre le processus moins verbeux en utilisant des variables Bash, en modifiant les couleurs d'arrière-plan et en stylisant le texte.

Horodatage:

Plus de Stackabuse