La commande echo sur Linux : utilisations et exemples

La commande echo est l'une des commandes les plus basiques et les plus fréquemment utilisée sous Linux. Les arguments passés à echo sont affichés sur la sortie standard.
Echo est couramment utilisé dans les scripts shell (bash, Zsh et Ksh) pour afficher un message ou afficher les résultats d'autres commandes.

Ce tutoriel vous explique comment utiliser la commande echo sur Linux avec des exemples.

La commande echo sur Linux : utilisations et exemples

Comment utiliser la commande echo sur Linux

L'exécutable se trouve dans /usr/bin/echo dont voici la syntaxe :

echo [OPTIONS] [TEXTE]

L'utilisation basique est de donc de saisir le texte qui va ensuite s'afficher dans le terminal ou via un script shell :

echo "Ce texte va s'afficher grâce à la commande echo"
Ce texte va s'afficher grâce à la commande echo
Comment utiliser la commande echo sur Linux

Il y a quelques points à considérer lors de l'utilisation de la commande echo :

  • Le shell remplace toutes les variables, les correspondances génériques et les caractères spéciaux avant de transmettre les arguments à la commande echo
  • Bien que cela ne soit pas nécessaire, c'est une bonne pratique de programmation d'entourer les arguments passés à echo de guillemets simples ou doubles
  • Lors de l'utilisation de guillemets simples '', la valeur littérale de chaque caractère entre guillemets sera préservée. Les variables et les commandes ne seront pas développées

Par exemple ci-dessous, la variable $PATH n'est pas "traduite" car elle est entourée de guillemets simples.
Si on utilise des guillemets doubles, le shell remplace la variable par sa valeur.

La commande echo possède quelques options :

OPTIONSDESCRIPTION
-n n'affiche pas la nouvelle ligne de fin
-e permet l'interprétation des échappements antislash
-Edésactiver l'interprétation des échappements antislash (par défaut)
Les options de la commande echo

Comment utiliser echo -e

Par défaut, le texte avec des caractères d'échappement ne sont pas traduits.
Pour les utiliser, il faut ajouter l'option -e pour interpréter les caractères ANSI-C Quoting.

OPTIONSDESCRIPTION
\\Barre oblique inverse pour échapper un caractère
\aalerte (BEL)
\bAfficher un caractère retour arrière
\cne produit aucune autre sortie
\eAfficher un caractère d'échappement
\fsaut de page
\nnouvelle ligne
\rretour chariot
\tonglet horizontal
\vonglet vertical
Les caractères d'échappement de la commande echo -e

La commande echo sur Linux : utilisations et exemples

Comment afficher une ligne de texte sur la sortie standard

Voici l'utilisation la plus basique de la commande où on affiche simplement un texte dans la sortie standard du terminal :

echo "Bienvenue sur malekal.com"
Bienvenue sur malekal.com
Comment afficher une ligne de texte sur la sortie standard avec la echo

Les guillemets ne sont pas obligatoires mais il est fortement conseillé de prendre l'habitude de l'utiliser surtout si par la suite vous devez créer des scripts shell :

echo Bienvenue sur malekal.com
Bienvenue sur malekal.com

Comment afficher une ligne de texte contenant un guillemet double

Pour afficher du texte avec des guillemets doubles, vous pouvez encadrer ce dernier de guillemets simples :

echo '"Bienvenue sur malekal.com"'
"Bienvenue sur malekal.com"

Une autre façon d'afficher un texte avec des guillemets doubles et de les échapper avec le caractère \ de cette manière :

echo \"Bienvenue sur malekal.com\"
"Bienvenue sur malekal.com"
Comment afficher une ligne de texte contenant un guillemet double avec la commande echo

Comment afficher une ligne de texte contenant un guillemet simple

En suivant, le même principe que précédemment, vous pouvez aussi afficher un texte avec des guillemets simples :

[email protected]:~$ echo "'Bienvenue sur malekal.com'"
'Bienvenue sur malekal.com'

Et donc aussi en échappant le guillemet simple :

[email protected]:~$ echo \'Bienvenue sur malekal.com\'
'Bienvenue sur malekal.com'
[email protected]:~$
Comment afficher une ligne de texte contenant un guillemet simple avec la commande echo

Comment afficher un message contenant des caractères spéciaux (appostrophes, ...)

Lorsqu'un texte comporte un caractère spécial comme un appostrophe, vous pouvez l'encadrer de guillemets doubles.

[email protected]:~$ echo "J'aime malekal.com"
J'aime malekal.com

On peut aussi utiliser cette syntaxe avec les caractères ANSI-C Quoting.

[email protected]:~$ echo $'J\'aime malekal.com'
J'aime malekal.com
Comment afficher un message contenant des caractères spéciaux (appostrophes, ...) avec la commande echo

Caractères de correspondance de modèle

La commande echo peut être utilisée avec des caractères de correspondance de modèle, tels que les caractères génériques. Par exemple, la commande ci-dessous renverra les noms de tous les fichiers .txt dans le répertoire courant.

echo Les fichiers textes sont: *.txt
Les fichiers textes sont: fichier.txt malekal.txt monbeaufichier.txt monsuperfichier.txt test.txt texte.txt Ubuntu.txt
Comment utiliser les caractères de correspondance de modèle de la commande echo

Comment rediriger la sortie echo vers un fichier

Comme n'importe quelle commande Linux, la commande echo accepte les redirections de sorties vers un fichier.
Utilisez le caractère > pour rediriger le résultat de la commande echo dans un fichier.
Si ce dernier n'existe pas, il sera créé, s'il existe déjà, le contenu est ecrasé.

echo "Je redirige ce texte vers un fichier grâce au caractère >" > /tmp/texte.txt
cat /tmp/texte.txt
Je redirige ce texte vers un fichier grâce au caractère >
Comment rediriger un fichier avec la commande echo

Le caractère >> permet d'envoyer la sortie vers un fichier sans écraser ce dernier.
Ainsi, vous mettez à jour son contenu en ajoutant le résultat de la sortie echo.

Comment afficher des variables avec echo

La commande echo peut aussi afficher les valeurs d'une variable.
Pour cela, il suffit de spécifier celle-ci SANS utiliser de guillemets simples :

eco $PATH

ou en l'encadrant avec des guillemets doubles :

echo "$PATH"
Comment afficher des variables avec la commande echo

Comment afficher la sortie d'une commande

Utilisez l'expression $(commande) pour inclure la sortie de la commande dans l'argument de l'écho.
La commande suivante affiche la date actuelle :

echo "The date is: $(date +%D)"
The date is: 01/04/22

On peut aussi encadrer la commande du caractère ` pour que celle-ci s'exécute dans la commande echo :

echo "The date is: `date +%D`"
The date is: 01/04/22

Comment changer le format de sortie

L'utilisation de l'option -e vous permet d'utiliser des caractères d'échappement. Ces caractères spéciaux facilitent la personnalisation de la sortie de la commande echo.
Par exemple, utiliser \c vous permet de raccourcir la sortie en omettant la partie de la chaîne qui suit le caractère d'échappement:

echo -e "Hello, World! \cje suis malekal.com"
Changer le format de sortie de la commande echo Linux

Utilisez l'option \n pour ajouter un retour chariot à votre texte :

echo -e "Hello, World! \nje suis malekal.com\nle meilleur site informatique"
Hello, World!
je suis malekal.com
le meilleur site informatique

Pour ajouter une tabulation horizontale dans le texte, on utilise l'option \t :

echo -e "Hello, World! \tje suis malekal.com\tle meilleur site informatique"
Hello, World!      je suis malekal.com     le meilleur site informatique

Enfin pour une tabulation verticale, il faut utiliser l'option \v :

echo -e "Hello, World! \vje suis malekal.com\vle meilleur site informatique"
Hello, World!
                   je suis malekal.com
                                      le meilleur site informatique
Changer le format de sortie de la commande echo Linux

Comment utiliser echo en intégrant des commandes

La commande echo vous permet d'inclure le résultat d'autres commandes dans la sortie.
Nous devons utiliser le signe du dollar $ comme si la commande était une variable et envelopper la commande entière entre parenthèses.

echo "[texte] $([commande])
  • [texte]: la chaîne que vous souhaitez inclure avec ECHO
  • [commande]: La commande que vous souhaitez combiner avec la commande ECHO pour afficher le résultat.

Par exemple pour combiner la commande echo avec la commande ls :

echo "Ceci est la liste des répertoires et des fichiers sur ce système: $(ls)"
Comment utiliser echo en intégrant des commandes

Cet autre exemple avec la commande date :

echo "La date d'aujourd'hui est : $(date +%D)"

A noter que l'on peut aussi encadrer la commande par le caractère `

echo -e "Ceci est la liste des répertoires et des fichiers sur ce système:\n `ls`"

Comment utiliser la couleur avec echo

Utilisez des séquences d'échappement ANSI pour modifier les couleurs de premier plan et d'arrière-plan ou définissez des propriétés de texte tels que le soulignement et l'audacieux.

echo -e "\033[1;37mBLANC"
echo -e "\033[0;30mNOIR"
echo -e "\033[0;34mBLEU"
echo -e "\033[0;32mVERT"
echo -e "\033[0;36mCYAN"
echo -e "\033[0;31mROUGE"
echo -e "\033[0;35mMAUVE"
echo -e "\033[0;33mJAUNE"
echo -e "\033[1;30mGRIS"
Comment utiliser la couleur avec echo

Tags: