CMD Master
Retour au blog
Arnošt Havelka

Premium : Pratique des scripts Bash

Combinez variables, fonctions, boucles et conditions pour résoudre un scénario multi-étapes réaliste.

Démarrer la leçon interactive
Premium : Pratique des scripts Bash

Maintenant, combinez tout : variables, fonctions, boucles et conditions pour construire un script d'automatisation en conditions réelles.

Étape 1 : Construire la base

Terminal
~$mkdir -p backups for i in 1 2 3; do echo "Log entry $i" > backups/log_$i.txt; done ls backups

Créez plusieurs fichiers journaux avec une boucle. Chaque itération écrit un nouveau fichier.

Étape 2 : Analyser les résultats

Terminal
~$cat backups/*.txt

Utilisez des motifs de recherche (glob patterns) pour traiter tous les fichiers en même temps.

Étape 3 : Extraire et compter

Terminal
~$cat backups/*.txt | grep -c 'Log entry'

Combinez les tubes (pipes) et les commandes pour obtenir des statistiques significatives à partir de vos données.

Scénario réel

Vous gérez 10 microservices. Chacun génère un journal de déploiement. Créez un script qui :

  1. Crée un répertoire de sauvegarde avec tous les journaux actuels.
  2. Filtre les lignes d'erreur.
  3. Compte le nombre total d'erreurs sur tous les services.
printf '%s\n' 'INFO deploy started' 'ERROR health check failed' > web.log
printf '%s\n' 'INFO deploy complete' > api.log

function check_deploys {
  mkdir -p backup_deploys
  for service in web api cache queue worker db; do
    if [ -f "$service.log" ]; then
      cp "$service.log" backup_deploys/
      error_count=$(grep -c 'ERROR' "backup_deploys/$service.log")
      echo "Service $service has $error_count errors"
    fi
  done
}

check_deploys

Aide-mémoire réutilisable

  1. Itérer avec for var in list; do ...; done.
  2. Vérifier des conditions avec if [ test ]; then ...; fi.
  3. Capturer la sortie avec $(commande).
  4. Traiter des fichiers avec cat *.ext | grep | wc -l.
  5. Organiser avec des fonctions qui regroupent des tâches liées.

Vérification des connaissances

1 / 2

Comment exécuter une commande et stocker son résultat dans une variable ?

Références

Ces liens de documentation fournissent des informations fiables sur les commandes utilisées dans cet article.

À suivre

Premium : chasse aux bûches de Bash

Détectez rapidement les échecs de déploiement grâce aux pipelines grep, aux décomptes et aux notes d'incident enregistrées.