Techniques Avancées de Scripting Shell

Apprenez les techniques avancées de scripting Shell. Ce module couvre les bases des fonctions Shell, la portée des variables et le statut de retour, la gestion des erreurs avec `trap`, les techniques de manipulation de chaînes de caractères, et le traitement des tableaux. Vous maîtriserez ces compétences Linux essentielles grâce à des laboratoires pratiques et des défis concrets.

DevOps EngineerLinuxDevOps

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce cours intermédiaire enrichit les scripts Bash de fonctions réutilisables, de portée contrôlée, de nettoyage, d’expansion de paramètres et de tableaux. Dans cinq laboratoires guidés, vous structurerez la logique, séparerez sortie texte et statut, réagirez à l’arrêt, manipulerez les chaînes sans outil externe et traiterez des collections en sécurité.

Le défi final combine ces techniques dans log_manager.sh : conserver un tableau fixe de journaux préparés, dériver des noms .backup dans une fonction, copier les fichiers présents, signaler les absents et supprimer un rapport temporaire à la sortie.

Ce que vous apprendrez

  • Définir et appeler des fonctions Bash et transmettre des valeurs par leurs arguments
  • Protéger l’état avec des variables local sans modifier involontairement les globales
  • Renvoyer des statuts, capturer immédiatement $? et bifurquer selon le résultat
  • Enregistrer des fonctions de nettoyage pour SIGINT et EXIT avec trap
  • Découper, remplacer et fournir des valeurs par défaut via l’expansion de paramètres
  • Déclarer des tableaux, ajouter des éléments, développer toutes les valeurs et itérer avec des guillemets sûrs
  • Dériver les noms de sauvegarde en remplaçant .log par .backup dans une fonction
  • Coordonner nettoyage, tableaux, tests de fichiers, fonctions et avertissements dans un script

À qui s’adresse ce cours

Ce cours s’adresse aux personnes ayant acquis les bases de Bash et souhaitant des techniques intermédiaires pour rendre de petits scripts de maintenance plus modulaires et prévisibles.

Prérequis : Scripts Bash, variables, arguments positionnels, conditions, boucles, tests de fichiers, codes de sortie, redirection, permissions d’exécution et commandes de fichiers.

Environnement d’apprentissage : Un terminal LabEx basé sur Ubuntu avec Bash, scripts modifiables, exercices de signaux et fichiers temporaires et trois journaux préparés pour le défi.

Questions fréquentes

Comment le cours est-il organisé ?

Cinq laboratoires proposent une pratique guidée. Le sixième est un défi où vous construisez log_manager.sh avec trap de nettoyage, fonction, tableau, remplacement de chaîne et boucle.

Le gestionnaire final compresse-t-il, supprime-t-il ou fait-il réellement tourner les journaux ?

Non. Il copie chaque .log préparé vers un voisin .backup et conserve l’original. Il ne compresse pas, n’applique pas de rétention, ne tronque pas et ne configure pas logrotate.

Quels événements les exercices de trap gèrent-ils ?

Le lab guidé nettoie sur SIGINT et EXIT afin que Ctrl+C et la sortie normale retirent un temporaire. Le défi exige précisément un trap EXIT supprimant report.txt.

Une fonction Bash peut-elle renvoyer du texte avec return ?

Pas dans ces exercices. return transporte un statut entier de 0 à 255 pour le contrôle ; le texte est produit avec echo ou capturé par substitution de commandes.

Enseignant

labby
Labby
Labby is the LabEx teacher.