Aperçu du cours
Objectif de formation : Au terme de cette formation, les participants sauront utiliser les mécanismes du Shell sous Linux et sa programmation dans des domaines d’applications concrets
Prérequis
- Connaissances de base d'un système Linux/Unix et de la programmation
- Expérience souhaitable de l'utilisation d'un de ces systèmes
Objectifs pédagogiques
- Maîtriser les diverses instructions
- Rédiger des scripts simples d'exploitation Unix/Linux
- Réaliser des debuggings de scripts shell
- Implémenter des scripts shell avec des fonctions et sous-shells
- Gérer les fichiers avec des commandes
Public ciblé
- Développeurs
- Techniciens
- Administrateurs Unix/Linux
Programme de formation
-
Introduction (1 heure)
-
Présentation des principaux interpréteurs
-
Disponibilité des interpréteurs selon le système
-
Normalisation dans l’écriture de scripts
-
Apports GNU
-
Bourne Shell, Korn Shell et Bash
-
-
Programmation & scripts (1 heure)
-
Présentation des outils de développement
-
Mécanisme d’exécution des scripts
-
Règles de recherche des commandes
-
Principes d’exécution d’une commande
-
Principes d’exécution d’un script
-
-
Présentation des mécanismes de base (2 heures)
-
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
-
Redirections
-
-
Fonctionnement en interactif (2 heures)
-
Invocation du shell
-
Tour d’horizon des divers fichiers de démarrage
-
Notions d’environnement
-
Historique et rappel des commandes
-
Contrôle de jobs
-
Complémentation des noms
-
Terminaison du shell
-
-
Introduction à la construction de shell-scripts portables (1 heure)
-
Interface
-
Structuration
-
-
Appel d'un shell-script (2 heures)
-
Présentation des méthodes d’appel
-
Options utilisables
-
Concept de sous-shell
-
Compléments sur l’environnement
-
Options et arguments
-
-
Préambule du shell-script (1,5 heures)
-
Interprétation
-
Commentaires
-
Configuration de position
-
Variables locales & variables globales
-
Déclaration et visibilité des fonctions
-
-
Postambule & retour de shell-script (1,5 heures)
-
Sortie du shell-script
-
Fonction de sortie
-
Conventions utilisées
-
Valeur de retour
-
Enchaînement de shell-scripts
-
-
Structures de contrôle du shell (2 heures)
-
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 (2,5 heures)
-
Entrées/Sorties
-
Interactions avec le système
-
Arguments en ligne de commande
-
Tests
-
Compléments sur les instructions
-
Redirection locale avec les fichiers de commande
-
-
Outils avancés (1,5 heures)
-
Debugging d’un shell-script
-
Commandes de debugging
-
Signaux de trace
-
Journalisation
-
Robustesse d’un shell-script
-
Vérification de l’initialisation des variables
-
Manipulation experte des arguments en ligne de commande
-
Tests sur le type des variables
-
Gestion des signaux
-
Nommage et destruction des fichiers temporaires
-
Cas particulier d’exécution d’un shell-script par cron
-
Présentation de la commande eval
-
Rôle du bêtisier du shell
-
-
Extensions du Korn Shell et Bash (1,5 heures)
-
Tableaux de variables
-
Notations spécifiques
-
Opérations arithmétiques
-
Alias suivis
-
Présentation du principe de coprocessus
-
Description des commandes internes spécifiques
-
-
Pour aller plus loin (1 heure)
-
Outils d’assistance pour la création de scripts
-
Expressions rationnelles
-
Recherche et traitement de fichiers
-
Sed : principes et aspects des scripts
-
Tour d’horizon des 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
-
Présentation des fonctions intégrées awk : mathématique, traitement de chaîne, interaction avec le système…
-