|
Programmation Shell
Cours :
434
Type :
Travaux pratiques
Durée :
3 jours
Ce cours est uniquement réalisé en intra entreprise et peut être adapté selon vos besoins.
Vous apprendrez à
- Écrire des scripts en Bash et en KornShell pour améliorer la productivité
- Utiliser toutes les fonctionnalités de base du langage : variables, appariement de motifs, tableaux, branchements, boucles, E/S et fonctions
- Améliorer l'efficacité de vos scripts grâce au traitement de fichiers complexes et à la manipulation de chaînes de caractères sans avoir recours à des outils externes
- Lancer et contrôler des processus externes en utilisant les scripts shell
- Personnaliser les scripts de connexion de l'environnement utilisateur
- Intégrer un fichier externe et des outils de gestion de texte dans les scripts
Objectif
Le KornShell (ksh) et le Bash sont devenus des langages de programmation très complets dont les fonctionnalités intégrées permettent de gérer efficacement les tâches traditionnellement résolues avec grep, sed et awk. Ce cours vous apportera les techniques qui vous permettront d'écrire des scripts shell réutilisables et robustes pour configurer l'environnement utilisateur et automatiser les tâches d'administration complexes.
À qui s'adresse cette formation
Administrateurs, développeurs et tous ceux qui utilisent la programmation en shell pour améliorer leur productivité. Une connaissance d'UNIX ou de Linux du niveau du cours 428, "UNIX : Introduction complète", ou du cours 143, "Linux : Introduction complète", est indispensable.
Travaux Pratiques
Durant ce cours, vous écrirez des scripts Bash et KornShell de plus en plus complexes à mesure que vous maîtriserez chaque nouvelle construction. Les exercices comprennent :
- Création de boucles et prise de décisions en utilisant case, while et if
- Exécution des tâches de traitement de données avec IFS et read
- Réorganisation d'un programme de grande taille à l'aide de fonctions
- Traitement des erreurs avec gestion des valeurs par défaut
- Traitement des interruptions avec trap
- Manipulation de fichiers multiples
Contenu de la formation
Introduction et vue d'ensemble
- Rôle des scripts shell
- Avantages du KornShell et du Bash par rapport aux autres shells
- Différences et similitudes entre Bash, ksh88 et ksh93
- Intégration de scripts avec des outils externes : grep, sed, awk et autres
- Personnalisation de l'environnement de connexion
Concepts de base du Kornshell et du Bash
Éléments d'un script shell
- Commandes et commentaires
- Définition des valeurs de retour
Instructions conditionnelles
- Utilisation des instructions if et case
- Simplification des instructions if avec elif
Boucles et itérations
- Boucles conditionnelles while et until
- Inventaire des boucles for
Tests sur les fichiers et les répertoires
- Analyse des attributs
- Vérification du contenu et de la taille des fichiers
Chaînes et motifs avec la commande [[ ]]
- Comparaison de chaînes
- Vérification de l'existence d'une chaîne
- Appariement de motifs et caractères spéciaux
Débogage
- Redirection des erreurs standard
- Commandes set
Stockage et accès aux données
Paramètres de position
- Transmission de paramètres et accès aux paramètres
- Affectation des paramètres
- Manipulation d'un ensemble de paramètres
Variables shell
- Définition des variables locales et d'environnement
- Valeurs par défaut et conditions d'erreur
Tableaux
- Création et indexation de tableaux
- Traitement des tableaux et des variables spéciales
Traitement des données
Manipulation de chaînes de caractères
- Extraction de sous-chaînes
- Détermination de la longueur des chaînes
- Recherche/remplacement
Calculs mathématiques
- Boucles arithmétiques for et while
- Écriture d'expressions mathématiques : (( )), $(( )) et let
Programmation modulaire avec des fonctions
Concepts de base des fonctions
- Fonctions vs scripts
- Paramètres et variables
Création d'une bibliothèque de fonctions
- Recherche de votre bibliothèque avec PATH
- La commande point
Interaction avec l'extérieur
Manipulation de fichiers et redirection de données
- Gestion des fichiers et des répertoires avec des scripts
- L'ordre dans les redirections
- Découverte des secrets de exec : ouverture et fermeture de fichiers
Interaction avec des processus en cours d'exécution
- Traitement des erreurs
- Définition des actions post-traitement telles que les notifications, l'effacement de fichiers temporaires, ...
- Gestion et envoi de signaux : trap et kill
Accès à des serveurs réseau
- Connexion à un serveur réseau
- Échange de données avec un serveur réseau
Création de scripts à "teneur industrielle"
Assurer le contrôle de l'environnement
- Vérification et/ou modification des variables d'environnement
- Utilisation de getopts pour traiter les options de la ligne de commande
Gestion des interactions utilisateurs
- Mise en place d'une gestion des erreurs
- Utilisation de select pour créer une interface utilisateur à base de menus
- Traitement des saisies au clavier
Prêts pour des formations entièrement adaptées à vos besoins ?
|