Commande echo du Shell

echoest une commande Shell intégrée utilisée pour afficher une ligne de texte ou la valeur d'une variable sur la sortie standard (généralement le terminal).

La commande echo de Shell est similaire à la commande echo de PHP ; toutes deux servent à afficher des chaînes de caractères.

Format de commande :

echo [选项] [字符串]

Pourquoi avez-vous besoin d'echo ?

  • Retour d'information: Afficher l'état d'exécution du script ou les résultats à l'utilisateur
  • Outil de débogage: Afficher les valeurs des variables ou la position d'exécution pour aider à déboguer les scripts
  • Interface interactive: Créer une interface d'interaction utilisateur simple
  • Génération de fichiers: Générer rapidement des fichiers de configuration ou des scripts

Utilisation de base

1. Sortie de texte simple

L'utilisation la plus basique consiste à afficher directement une chaîne :

Exemple

echo "Hello, World!"

Résultat de l'exécution:

Hello, World!

2. Sortie de variables

echoVous pouvez afficher la valeur d'une variable :

Exemple

name="Utilisateur Linux"
echo "Bienvenue, $name!"

Résultat de l'exécution:

Welcome, Linux User!

3. Sortie sans guillemets

Les guillemets ne sont pas obligatoires, mais il est recommandé de les utiliser pour éviter les accidents :

Exemple

echo Ceci est un test

Résultat de l'exécution:

This is a test

Options courantes

option -n : sortie sans saut de ligne

Par défaut,echoajoute un saut de ligne après la sortie. L'utilisation de-npeut empêcher ce comportement :

Exemple

echo -n "Chargement..."
echo " Terminé !"

Résultat de l'exécution:

Loading... Done!

option -e : activer l'interprétation des caractères d'échappement

Activer l'interprétation des échappements par barre oblique inverse :

Exemple

echo -e "Première ligne\nDeuxième ligne"

Résultat de l'exécution:

First line
Second line

Séquences d'échappement courantes

Séquence d'échappement Description
\n Nouvelle ligne
\t Tabulation horizontale
\v Tabulation verticale
\b Retour arrière
\r Retour chariot
\\ Le caractère barre oblique inverse lui-même

Utilisation avancée

1. Sortie vers un fichier

Utilisez la redirection pour enregistrer la sortie dans un fichier :

Exemple

echo "Ceci sera enregistré dans le fichier" > output.txt

Ajouter du contenu à la fin d'un fichier :

Exemple

echo "Ligne supplémentaire" >> output.txt

2. Sortie colorée

Utilisez des codes d'échappement ANSI pour implémenter du texte coloré :

Exemple

echo -e "\033[31mTexte rouge\033[0m"
echo -e "\033[42;31mFond vert avec texte rouge\033[0m"

Référence des codes de couleur:

  • Couleurs de premier plan : 30 (noir), 31 (rouge), 32 (vert), 33 (jaune), 34 (bleu), 35 (violet), 36 (cyan), 37 (blanc)
  • Couleurs d'arrière-plan : 40-47 correspondent aux couleurs ci-dessus
  • \033[0mRéinitialiser tous les attributs

3. Afficher le résultat de l'exécution de la commande

Utilisez la substitution de commande pour afficher les résultats des commandes :

Exemple

echo "Nous sommes le $(date)"

Résultat de l'exécution:

Today is Wed Jul 12 14:30:22 CST 2023

Exemples d'applications pratiques

1. Créer un menu simple

Exemple

echo -e "\n\033[1mMenu système\033[0m"
echo "1. Vérifier l'espace disque"
echo "2. Lister les processus en cours"
echo "3. Afficher les informations système"
echo -n "Veuillez saisir votre choix [1-3] : "

2. Simulation de barre de progression

Exemple

echo -n "Progression : ["
for i in {1..20}; do
    echo -n "#"
    sleep 0.1
done
echo "] Terminé !"

3. Générer le fichier de configuration

Exemple

cat <<EOF | sudo tee /etc/myapp.conf
# Généré par le script le $(date)
[Base de données]
host = localhost
port = 3306
user = appuser
password = secret123
EOF

Notes

1. L'importance des guillemets:

Exemple

var="Hello World"
echo $var    # Peut poser problème si la variable contient des espaces
echo "$var"  # Manière correcte

2. Différences d'implémentation entre différents shells:

  • Intégré à BashechoSupports-eoption
  • Sur certains systèmes,/bin/echopeut ne pas prendre en charge toutes les options
  • Pour des scripts portables, il est recommandé d'utiliserprintfpour remplacer des complexesecho

3. Gestion des caractères spéciaux:

Exemple

echo "Coût : \$100"  # Afficher le symbole $
echo "Chemin : /usr/local/bin"  # Les barres obliques n'ont pas besoin d'être échappées

Points de résumé

Point clé Description
Syntaxe de base echo [选项] [字符串]
Options courantes -nPas de saut de ligne,-eActiver les échappements
Sortie de variable Utiliser$variable name, il est recommandé de mettre entre guillemets doubles
Sortie colorée Utiliser les codes d'échappement ANSI\033[XXm
Redirection de sortie >Écraser le fichier,>>Ajouter à un fichier
Sortie multiligne Utiliser\nsaut de ligne ou Here Document
Recommandations de portabilité Pour une sortie complexe, envisagez d'utiliserprintf
Autres extensions