Formation Ecriture de Shell Bash
2 jours (14 heures) Apporter les connaissances indispensables pour écrire des scripts.
Prérequis
Bonnes connaissances des concepts de base d’Unix.
Public
Administrateurs Systèmes.
Méthodes pédagogiques
Exercices et cas pratiques construits à partir de cas professionnels et /ou issus de l’expérience des stagiaires.
Dates & Lieux
Programme
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, …).
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.
- Appel d’un shell-script
- Rappels sur les différentes méthodes.
- Options utilisables.
- Notions de sous-shell.
- Compléments sur l’environnement.
- Pptions 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.
- Postambule et retour de shell-script
- 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, et listes de pipelines.
- Commandes composées, sous-shells et fonctions.
- Mécanismes de sélection et d’itération.
- Menus.
- Commandes internes et externes
- 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.
Mécanismes complémentaires
Debugging d’un shell-script
- Commandes de debugging.
- Signaux de trace.
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).
- Gestion des signaux.
Autres points
- Nommage et destruction des fichiers temporaires.
- Cas particulier d’exécution d’un shell-script par cron.
- La commande eval.
- Le bêtisier du shell.
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
Outils d’assistance pour la création de scripts
- Utilitaires système SUSv3.
- Expressions rationnelles : outil grep.
- Recherche et traitement de fichiers : outil find.
Manipulation de flux de texte avec sed
- Principes et aspects des scripts.
- Commandes simples de recherche, remplacement, insertion.
- Aperçu des commandes avancées (traitement multiligne, mémoire secondaire…).
Automatisation de tâches avec awk
- Eléments généraux de programmation avec awk.
- Utilisation des variables et des fonctions.
- Présentation des fonctions intégrées : mathématique, traitement de chaîne, interaction avec le système…
- Exemples complets de scripts Awk (statistiques système, calculs…).
Suivi post-formation
Notre formateur restera disponible par mail pendant 6 mois pour répondre à vos questions. Le formateur répondra sous 48h par mail ou téléphone en fonction de la nature de la demande.