Les dis­tri­bu­tions Linux vous per­met­tent de con­fi­gu­rer et de gérer seul votre système. La commande Bash echo compte parmi les commandes les plus fré­quem­ment utilisées. Elle est utile dans les scripts Bash et les fichiers batch, où elle affiche le texte de statut dans un fichier ou sur votre écran. Nous allons vous expliquer comment fonc­tionne la commande echo sous Linux et comment elle peut vous aider, par exemple, à dé­ter­mi­ner les couleurs du texte et de l’arrière-plan.

Qu’est-ce que la commande echo de Linux et comment fonc­tionne-t-elle ?

La commande echo de Linux répète sim­ple­ment ce que vous lui demandez de répéter. Il s’agit d’une fonction ex­trê­me­ment simple, mais ab­so­lu­ment né­ces­saire pour ce genre d’actions. Sans echo, vous ne pourriez obtenir aucune sortie visible de vos scripts shell, par exemple. Shell cor­res­pond à l’interface uti­li­sa­teur dans laquelle vous pouvez saisir diverses commandes, comme la commande tail de Linux, la commande head de Linux, la commande cat de Linux ou encore la commande echo.

Quel est le fonc­tion­ne­ment exact de la commande echo de Linux et quelle est sa syntaxe ? Voici la syntaxe générale de cette commande :

echo [option] [string]

Le fonc­tion­ne­ment de base d’echo est d’ailleurs le même dans tous les langages de pro­gram­ma­tion : vous effectuez une entrée (qui prend, dans la plupart des cas, la forme d’une chaîne de ca­rac­tères), celle-ci est acceptée et reste inchangée à sa sortie.

Note

L’interface uti­li­sa­teur ou le script shell (in­ter­pré­teur de ligne de commande) est également appelé un shell Bash. Le Bash cor­res­pond aux scripts shell standard dans les dis­tri­bu­tions Linux, et donc à la fenêtre de texte dans laquelle vous saisissez vos commandes. Le programme echo constitue l’un des éléments fon­da­men­taux d’Ubuntu ; il est d’ailleurs préins­tallé sur chaque système.

Comment la commande echo de Linux affiche-t-elle le texte et les in­for­ma­tions ?

Pour notre premier exemple, nous sou­hai­te­rions afficher du texte et le contenu des variables dans le Bash ou le terminal. Pour écrire le texte « Ceci est un exemple », ren­seig­nez le code suivant dans le terminal :

$ echo Ceci est un exemple
Ceci est un exemple

Pour éviter autant que possible les erreurs, nous vous con­seil­lons de placer le texte entre guil­le­mets :

$ echo "Ceci est un exemple"
Ceci est un exemple

Pour l’étape suivante, nous aimerions afficher une variable. Il suffit ici de ren­seig­ner le nom de la variable, par exemple PWD (pour « Print Working Directory », qui signifie « im­pres­sion du ré­per­toire de travail »). Voici à quoi res­sem­ble­rait une telle commande :

$ echo $PWD 
/Users/Name/Desktop

Vous avez également la pos­si­bi­lité de combiner la sortie des variables avec du texte, comme dans l’exemple ci-dessous :

$ echo "Vous êtes dans le répertoire : $PWD" 
Vous êtes dans le répertoire : /Users/Name/Desktop
Note

Outre la commande Bash echo, printf et tput per­met­tent également d’afficher des in­for­ma­tions. tput est l’outil le plus complexe, mais peut également servir à réi­ni­tia­li­ser ces in­for­ma­tions. À l’inverse, avec printf et echo, les in­for­ma­tions peuvent seulement être affichées.

Quels sont les ca­rac­tères de commande dis­po­nibles pour echo ?

Main­te­nant que nous avons compris le principe de base de la commande echo, vous allez découvrir les ca­rac­tères de commande que vous pouvez utiliser en com­bi­nai­son avec celle-ci. Les ca­rac­tères de commande ne sont pas di­rec­te­ment visibles à l’écran, mais ils dé­ter­mi­nent des éléments comme le début ou la fin du texte, ou encore les retours à la ligne.

Attention : echo ne comprend les ca­rac­tères de commande que si vous dé­fi­nis­sez l’option -e. Dans l’exemple suivant, "\ n" n’est donc affiché que sous forme de texte (le caractère de contrôle "\ n" signale un saut de ligne ou un retour au­to­ma­tique à la ligne).

$ echo "\n"
\n

Si vous ajoutez un -e, comme dans l’exemple suivant, cela a en réalité pour effet d’ajouter un retour au­to­ma­tique à la ligne dans votre texte:

$ echo -e "\n"
Note

Par défaut, la commande echo se termine par un retour à la ligne. Si vous souhaitez le supprimer, vous pouvez ajouter le caractère de commande "\c" à la fin de la sortie cor­res­pon­dante.

Voici un aperçu des ca­rac­tères de commande dis­po­nibles dans Bash :

Codes d’échap­pe­ment Sig­ni­fi­ca­tion
\a Signal d’alarme
\b Retour d’un caractère
\c Supprimer le retour au­to­ma­tique à la ligne
\f Retour
\n Retour à la ligne
\r Retour au début de la ligne
\t Ta­bu­la­tion (ho­ri­zon­tale)
\v Ta­bu­la­tion (verticale)
\\ Affichage du caractère backslash
\0nnn Ca­rac­tères ACSII sous forme octale (sh et ksk uni­que­ment)
\nnn Ca­rac­tères ACSII sous forme octale (Bash uni­que­ment)

Comment dé­ter­mi­ner les couleurs du texte et de l’arrière-plan avec echo ?

Avec la commande echo de Linux, les attributs du texte tels que les couleurs de la police et de l’arrière-plan peuvent aussi être dé­ter­mi­nés au moment de la pu­bli­ca­tion de celui-ci. Pour que cela fonc­tionne, tous les ca­rac­tères doivent être mis entre guil­le­mets, ou les couleurs doivent être écrites sous forme de variables afin que la chaîne soit plus lisible. La première variable ressemble à ce qui suit (une couleur est toujours in­tro­duite par \033[, et 31m cor­res­pond ici à la couleur de police rouge) :

$ echo -e "\033[31mC‘estuntexterouge"

Si vous souhaitez réi­ni­tia­li­ser tous les attributs, saisissez la chaîne suivante :

$ echo -e "\033[0m"

Toutefois, si vous souhaitez un résultat plus lisible, vous pouvez définir au préalable les couleurs comme variables dans votre script Bash :

red=’\033[31m’
reset=’\033[0m’

Ensuite, il vous suffit d’appeler la couleur en tant que commande echo :

$ echo -e "${red}C’est un texte rouge.${reset}Maintenant le texte est de nouveau normal."

Le tableau ci-dessous vous donne un aperçu des codes d’échap­pe­ment pour les dif­fé­rentes couleurs de police et d’arrière-plan :

Ca­rac­tères de commande Sig­ni­fi­ca­tion
\033[30m Couleur de police noire
\033[31m Couleur de police rouge
\033[32m Couleur de police verte
\033[33m Couleur de police jaune
\033[34m Couleur de police bleue
\033[35m Couleur de police magenta
\033[36m Couleur de police turquoise
\033[37m Couleur de police blanche
\033[40m Arrière-plan noir
\033[41m Arrière-plan rouge
\033[42m Arrière-plan vert
\033[43m Arrière-plan jaune
\033[44m Arrière-plan bleu
\033[45m Arrière-plan magenta
\033[46m Arrière-plan turquoise
\033[47m Arrière-plan gris

Comment définir certaines pro­prié­tés de texte avec echo ?

Outre la couleur de la police et de l’arrière-plan, vous pouvez aussi utiliser la commande echo sous Linux pour dé­ter­mi­ner des attributs de texte tels que les ca­rac­tères gras ou soulignés. Voici les codes de ces dif­fé­rentes pro­prié­tés tex­tuelles :

Ca­rac­tères de commande Sig­ni­fi­ca­tion
\033[0m Réi­ni­tia­li­ser tous les attributs
\033[1m Mise en ca­rac­tères gras
\033[4m Mise en ca­rac­tères soulignés
\033[5m Faire clignoter
\033[7m Re­pré­sen­ta­tion inversée

Si vous souhaitez par exemple mettre votre texte rouge en gras, voici le code à utiliser :

$ echo -e "\033[1;31mC’est un texte rouge en gras."
Conseil

Pour vous, nous avons également élaboré une pré­sen­ta­tion de toutes les prin­ci­pales commandes Linux.

Aller au menu principal