Commande echo sous Linux : explications

Les distributions Linux vous permettent de configurer et de gérer seul votre système. La commande Bash echo compte parmi les commandes les plus fréquemment 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 fonctionne la commande echo sous Linux et comment elle peut vous aider, par exemple, à déterminer les couleurs du texte et de l’arrière-plan.

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

La commande echo de Linux répète simplement ce que vous lui demandez de répéter. Il s’agit d’une fonction extrêmement simple, mais absolument nécessaire pour ce genre d’actions. Sans echo, vous ne pourriez obtenir aucune sortie visible de vos scripts shell, par exemple. Shell correspond à l’interface utilisateur 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 fonctionnement 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 fonctionnement de base d’echo est d’ailleurs le même dans tous les langages de programmation : vous effectuez une entrée (qui prend, dans la plupart des cas, la forme d’une chaîne de caractères), celle-ci est acceptée et reste inchangée à sa sortie.

Note

L’interface utilisateur ou le script shell (interpréteur de ligne de commande) est également appelé un shell Bash. Le Bash correspond aux scripts shell standard dans les distributions Linux, et donc à la fenêtre de texte dans laquelle vous saisissez vos commandes. Le programme echo constitue l’un des éléments fondamentaux d’Ubuntu ; il est d’ailleurs préinstallé sur chaque système.

Comment la commande echo de Linux affiche-t-elle le texte et les informations ?

Pour notre premier exemple, nous souhaiterions afficher du texte et le contenu des variables dans le Bash ou le terminal. Pour écrire le texte « Ceci est un exemple », renseignez le code suivant dans le terminal :

$ echo Ceci est un exemple
Ceci est un exemple

Pour éviter autant que possible les erreurs, nous vous conseillons de placer le texte entre guillemets :

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

Pour l’étape suivante, nous aimerions afficher une variable. Il suffit ici de renseigner le nom de la variable, par exemple PWD (pour « Print Working Directory », qui signifie « impression du répertoire de travail »). Voici à quoi ressemblerait une telle commande :

$ echo $PWD 
/Users/Name/Desktop

Vous avez également la possibilité 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 permettent également d’afficher des informations. tput est l’outil le plus complexe, mais peut également servir à réinitialiser ces informations. À l’inverse, avec printf et echo, les informations peuvent seulement être affichées.

Quels sont les caractères de commande disponibles pour echo ?

Maintenant que nous avons compris le principe de base de la commande echo, vous allez découvrir les caractères de commande que vous pouvez utiliser en combinaison avec celle-ci. Les caractères de commande ne sont pas directement visibles à l’écran, mais ils déterminent des éléments comme le début ou la fin du texte, ou encore les retours à la ligne.

Attention : echo ne comprend les caractères de commande que si vous définissez 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 automatique à 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 automatique à 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 correspondante.

Voici un aperçu des caractères de commande disponibles dans Bash :

Codes d’échappement

Signification

\a

Signal d’alarme

\b

Retour d’un caractère

\c

Supprimer le retour automatique à la ligne

\f

Retour

\n

Retour à la ligne

\r

Retour au début de la ligne

\t

Tabulation (horizontale)

\v

Tabulation (verticale)

\\

Affichage du caractère backslash

\0nnn

Caractères ACSII sous forme octale (sh et ksk uniquement)

\nnn

Caractères ACSII sous forme octale (Bash uniquement)

Comment déterminer 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éterminés au moment de la publication de celui-ci. Pour que cela fonctionne, tous les caractères doivent être mis entre guillemets, 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 introduite par \033[, et 31m correspond ici à la couleur de police rouge) :

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

Si vous souhaitez réinitialiser 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’échappement pour les différentes couleurs de police et d’arrière-plan :

Caractères de commande

Signification

\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 proprié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éterminer des attributs de texte tels que les caractères gras ou soulignés. Voici les codes de ces différentes propriétés textuelles :

Caractères de commande

Signification

\033[0m

Réinitialiser tous les attributs

\033[1m

Mise en caractères gras

\033[4m

Mise en caractères soulignés

\033[5m

Faire clignoter

\033[7m

Représentation 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ésentation de toutes les principales commandes Linux.