Écriture de scripts en Shell sous Unix/Linux
Objectifs de la formation
- Connaître les différentes instructions utilisables dans un script shell
- Ecrire des scripts simples d'exploitation Unix/Linux
- Effectuer le debugging d'un script shell
- Enrichir un script shell avec des fonctions et sous-shells
- Manipuler les fichiers avec les commandes grep, find, sed, awk
Programme de la formation
Présentation et rappels
- Les différents interpréteurs : Bourne Shell, Korn Shell, Bash, C Shell,Tcsh...
- Disponibilité des interpréteurs sur les divers systèmes Unix.
- Le point sur la normalisation (impacts sur l'écriture des scripts).
- Les apports GNU (gawk, gsed...).
- Différences Bourne Shell/Korn Shell/Bash.
Programmation par scripts
- Outils de développement.
- Mécanisme d'exécution des scripts.
- Règles de recherche des commandes.
- Principes d'exécution d'une commande (exec, pipeline, sous-shell, background...).
- Principes d'exécution d'un script.
Mécanismes de base
- Lecture et analyse de la ligne de commande.
- Expansion des accolades, développement du tilde, remplacement des paramètres.
- Substitution des commandes et évaluation arithmétique.
- Procédés d'échappement (banalisation).
- Les redirections (entrée et sortie standard, fichiers, tubes, document en ligne).
Fonctionnement en interactif
- Invocation du shell (options).
- Les différents fichiers de démarrage.
- Notions d'environnement (variables, alias, fonctions).
- Historique et rappel des commandes.
- Contrôle de jobs.
- La complémentation des noms.
- Terminaison du shell.
Construction de shell-scripts portables (ksh/bash)
- Interface avec un shell-script.
- Structuration d'un shell-script. Notions de sous-shell.
- Appel d'un shell : les différentes méthodes. Options utilisables. Compléments sur l'environnement. Options et arguments.
- Préambule du shell-script : qui interprète le shell-script ? Commentaires.
- Paramètres de position (initialisation, sauvegarde, décalages).
- Variables locales. Variables globales.
- Déclaration et visibilité des fonctions.
- Sortie du shell-script. Fonction de sortie. Conventions utilisées. Valeur de retour. Enchaînement de shell-scripts.
- Structures de contrôle du shell : commandes simples, pipelines, listes de pipelines.
- Commandes composées, sous-shells et fonctions. Mécanismes de sélection et d'itération. Menus.
- Entrées/sorties. Interactions avec le système. Arguments en ligne de commande.
- Opérations de tests. Compléments sur les instructions. Redirection locale dans les fichiers de commande.
Robustesse, debugging
- Robustesse d'un shell-script : vérifier l'initialisation des variables.
- Gestion avancée des arguments en ligne de commande (getopts).
- Tests sur le type des variables (expr). La commande eval.
- Gestion des signaux.
- Nommage et destruction des fichiers temporaires.
- Cas particulier d'exécution d'un shell-script par cron (la crontab).
- Debugging d'un shell-script : commandes de debugging.
- Signaux de trace. Journalisation.
- Journalisation.
Extensions du Korn Shell et Bash
- Tableaux de variables.
- Notations spécifiques.
- Opérations arithmétiques.
- Les alias suivis.
- Notion de coprocessus.
- Les commandes internes spécifiques.
Outils supplémentaires (grep, find, sed, awk)
- Outils d'assistance pour la création de scripts : grep et find.
- Expressions rationnelles : outil grep.
- Recherche et traitement de fichiers : outil find.
- Sed : principes et aspects des scripts. Commandes simples de recherche, remplacement, insertion.
- Manipulation de flux de texte avec sed. Aperçu des commandes avancées.
- Eléments généraux de programmation avec awk. Utilisation des variables et des fonctions.
- Exemples complets de scripts awk (statistiques système, calculs...).
- Présentation des fonctions intégrées awk : mathématique, traitement de chaîne, interaction avec le système...
Please login to get access to the quiz
Back to Linux