Commande Echo dans le Shell Bash : Découvrez les Nombreuses Utilisations

En tant qu’administrateur, vous pouvez régulièrement exécuter la commande echo en Bash lors de la gestion d’un système Linux. Mais est-ce que l’impression de textes est tout ce que la commande echo peut offrir ?

Dans ce tutoriel, vous examinerez de plus près la commande echo et apprendrez certains de ses exemples pratiques les plus utiles.

Prêt ? Restez à l’écoute et reformulez votre idée de la commande echo !

Prérequis

Ce tutoriel comprend des démonstrations pratiques. Pour suivre, vous avez seulement besoin d’une machine Ubuntu. Ce tutoriel utilise Ubuntu 20.04, mais d’autres distributions Linux fonctionneront également.

Impression de chaînes avec la commande echo dans le shell Bash

Lorsque vous pensez à la commande echo, la première chose qui vient à l’esprit est l’impression de valeurs de chaîne dans la console. Oui, la commande echo renvoie directement des chaînes à partir d’une commande ou d’un script.

Mais plus tard dans ce tutoriel, vous verrez la commande echo sous un autre angle. Pour l’instant, voyez comment cette commande imprime des chaînes dans la console.

La syntaxe de la commande echo est la suivante où :

  • chaîne – le texte à imprimer.
  • options – les arguments optionnels que vous pouvez spécifier pour modifier la sortie.
echo string options

Exécutez la commande echo ci-dessous sans ajouter d’options pour imprimer un texte simple dans la console. Cette commande passe la chaîne en tant qu’argument à la commande echo.

echo "Echo command bash"
Printing a string to the console

Suppression des sauts de ligne finaux dans les chaînes

La commande echo ajoute un caractère de nouvelle ligne à la fin de chaque chaîne par défaut. Par conséquent, lorsque vous imprimez plusieurs chaînes, peut-être en les connectant les unes aux autres, chaque chaîne est imprimée sur une nouvelle ligne.

L’option -n supprime les nouvelles lignes finales en indiquant à la commande echo d’imprimer plusieurs chaînes sur une seule ligne. Cette option peut être utile, par exemple, lors de l’impression de barres de progression dans la console.

Exécutez la commande ci-dessous pour imprimer Progress: et 50%.

echo -n "Progress: " && echo "50%"

Ci-dessous, vous pouvez voir que les nouvelles lignes séparent les deux chaînes.

echo command bash : newlines separate the two strings

Maintenant, exécutez la commande suivante, en ajoutant l’option -n, pour imprimer les chaînes Progress: et 50%.

echo -n "Progress: " && echo "50%"

Comme vous pouvez le voir ci-dessous, les deux chaînes sont maintenant sur une seule ligne car vous avez utilisé l’option -n pour supprimer les nouvelles lignes.

Suppressing trailing newlines

Impression des valeurs de variables

Lors de l’écriture d’un script, vous stockez temporairement une valeur dans une variable, que vous pouvez imprimer avec la commande echo. Cette fonction peut être utile lorsque vous vérifiez la valeur d’une variable pour déboguer un script shell.

Exécutez les commandes ci-dessous pour définir la valeur de la variable nombre sur 10 et imprimer (echo) la valeur dans la console.

# Stocke la valeur de 10 dans la variable nombre
number=10
# Imprime la valeur actuelle stockée dans la variable nombre
echo The number is $number
Printing the Value of a Variable

Interprétation des séquences d’échappement

Une séquence d’échappement est une série de caractères représentant un caractère spécial, et vous pouvez utiliser l’option -e pour interpréter les séquences d’échappement.

Par exemple, la séquence d’échappement \t représente un caractère de tabulation. Si vous utilisez l’option -e et que vous imprimez \t dans la console, \t sera interprété comme un caractère de tabulation au lieu d’être imprimé littéralement.

Voici quelques-unes des séquences d’échappement les plus courantes:

Escape Sequence Function
\b backspace
\t tab
\n new line
\\ backslash
\$ dollar sign

Exécutez la commande suivante pour imprimer Hello\tWorld dans la console.

echo "Hello\tWorld"

Vous pouvez voir ci-dessous que la commande echo a imprimé la chaîne Hello\tWorld telle quelle.

Printing a string without an escape sequence

Maintenant, exécutez la commande ci-dessous pour imprimer Hello\tWorld, en ajoutant l’option -e pour interpréter \t comme un caractère de tabulation entre les deux.

echo -e "Hello\tWorld"

Remarquez ci-dessous le grand espace entre les mots Hello et World.

Interpreting an escape sequence

Insertion de chaînes sur une nouvelle ligne

Imprimer une longue ligne de chaîne unique rend difficile la lecture de son intégralité pour l’utilisateur. Heureusement, l’option \n vous permet d’ajouter un caractère de nouvelle ligne au milieu d’une chaîne. Cette option est souvent utilisée lors de l’impression de plusieurs lignes de texte dans la console, ce qui donne de la clarté au texte réel.

Exécutez la commande ci-dessous pour imprimer la chaîne Commande Echo bash\nUne autre ligne, où l’option \n divise la chaîne en deux lignes.

echo -e "Echo command bash\nAnother line"

Ci-dessous, vous pouvez voir que l’option \n a mis la chaîne Une autre ligne sur une nouvelle ligne.

Inserting a string into a new line

Insertion de tabulations verticales entre les chaînes

Vous avez vu comment la séquence d’échappement \t place un caractère de tabulation horizontale entre les chaînes. Mais qu’en est-il d’une tabulation verticale? L’option \v vous permet de séparer les chaînes par des tabulations verticales, ce qui est parfait pour créer des bannières de texte.

Cette option est souvent utilisée lors de l’impression de plusieurs colonnes de texte dans la console, chaque colonne étant sur une nouvelle ligne avec un nouvel espace de tabulation au début.

Exécutez la commande ci-dessous pour afficher le texte « Commande echo bash demo », mais avec des tabulations verticales (\v) entre chaque mot.

echo -e "Echo \vcommand \vbash \vdemo
Inserting vertical tabs in between strings

Impression des noms de fichiers basée sur l’extension

Si vous recherchez un moyen de trouver des fichiers avec un type de fichier spécifique, cette fonctionnalité de la commande echo fonctionne de la même manière. La commande echo permet de lister les fichiers d’un répertoire avec une extension particulière à l’aide du caractère générique (*).

1. Exécutez la commande suivante pour afficher tous les fichiers se terminant par l’extension .txt dans le répertoire actuel.

echo *.txt
Printing all .txt files in the current directory

2. Ensuite, exécutez la commande ci-dessous pour afficher tous les fichiers se terminant par l’extension .deb dans le répertoire actuel.

echo *.deb
Printing all .deb files in the current directory

3. Enfin, exécutez la commande ci-dessous pour afficher les fichiers avec l’extension .txt dans le répertoire ~/Downloads. Vous pouvez remplacer ~/Downloads/ par le chemin d’accès réel de votre fichier.

echo ~/Downloads/*.txt

Vous pouvez voir ci-dessous que la commande echo permet de spécifier un chemin de répertoire où se trouvent vos fichiers.

Finding .txt files in the specific directory

Écriture de la sortie dans un fichier

Lorsque votre commande retourne une sortie massive, vous pouvez à peine tout lire sur la console. Écrire la sortie dans un fichier est donc une excellente idée. Mais comment faire ? En plus d’imprimer du texte sur la console, la commande echo prend également en charge l’écriture directe des sorties dans un fichier.

Exécutez la commande ci-dessous, qui ne fournit pas de sortie car la sortie est écrite (>) dans un fichier appelé echo-bash.txt au lieu de cela.

Notez que si le fichier echo-bash.txt existe déjà, il sera écrasé avec le nouveau contenu.

echo "echo command bash" > echo-bash.txt

À présent, exécutez la commande cat suivante pour visualiser le contenu du fichier echo-bash.txt.

cat echo-bash.txt

Comme vous pouvez le voir ci-dessous, la sortie de la commande echo est écrite dans le fichier echo-bash.txt.

Verifying the output written to file

Ajouter une sortie à des fichiers existants

Comme mentionné précédemment, l’opérateur > écrase un fichier existant avec un nouveau contenu. Mais que faire si vous souhaitez ajouter la sortie à un fichier existant plutôt que de l’écraser ?

Au lieu d’un seul opérateur >, utilisez deux >>. Cette fonctionnalité permet de conserver le contenu existant et d’ajouter de nouvelles entrées à la fin du fichier.

Exécutez la commande ci-dessous pour ajouter (>>) de nouveaux textes (texte d’ajout) au fichier echo-bash.txt existant.

echo "Appending text" >> echo-bash.txt

Maintenant, exécutez la commande cat suivante pour visualiser le contenu du fichier echo-bash.txt.

cat echo-bash.txt

Comme vous pouvez le voir ci-dessous, la sortie de la commande echo est ajoutée au fichier sans écraser quoi que ce soit.

Appending output to an existing file

Conclusion

La commande echo dans le shell bash est un outil simple mais puissant qui peut être utilisé de nombreuses façons. Et dans ce tutoriel, vous avez appris comment maximiser le potentiel de la commande echo avec certaines de ses options les plus populaires.

L’impression de textes dans la console n’est plus simplement une question d’impression de textes. Vous avez vu comment écrire une sortie dans un fichier, ajouter des sorties et modifier l’apparence de chaque texte imprimé.

Pourquoi ne pas choisir quelques façons d’utiliser la commande echo et les écrire dans vos scripts? Voyez quelles idées créatives vous pouvez avoir!

Source:
https://adamtheautomator.com/echo-command-in-bash/