Accueil / Développer avec Shell
Développer avec Shell
Durée : 3 jours
Tarif Inter : 1500 €
Tarif sur mesure : Nous consulter
Référence : 3ASH
Programme
Public & Pré-requis
Organisation
Présentation
Cette formation vous permettra d’apprendre à développer avec Shell.
Objectifs
- Se familiariser avec les instructions qu’on trouve dans un script shell
- Savoir développer des scripts shell simples
- Debugger un script shell
- Connaitre les commandes de manipulation des fichiers
Programme
-
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
-
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…