- Certifiant
- Cours pratique
- Informatique
Formation Écriture de script en Shell
Et autres outils de scripting

- Durée
- 3 jours
- Niveau
- Fondamental
- Modalités
- Présentiel / Distanciel
- Certification
- AVIT by ENI - Administration d’un système Linux
Description de la formation shell
Objectif Formation Shell : Le shell est le programme auquel nous soumettons nos instructions quand nous dialoguons avec un système d’exploitation, soit à travers une simple commande tapée au clavier, soit à travers des fichiers appelés shellscripts. Son fonctionnement et sa batterie de caractères spéciaux (*, [, &, #, ‘,(,|, \, « , $, ;, !, etc.) le rendrent très puissant (mais pas très lisible au début), d’autant plus qu’il est programmable (if, while, fonction, etc.).
Cette formation présente les mécanismes détaillés du fonctionnement du shell standard sous Linux (bash), puis de sa programmation. Vous serez ainsi totalement à l’aise quand vous taperez des commandes complexes.
Surtout, vous serez autonome dans la programmation de shellscripts dans des domaines d'applications du quotidien : surveillance des ressources du système, occupation des filesystems, processus consommateurs, connexions en cours, déclenchement d’alertes, génération de ses propres journaux sous forme texte ou HTML pour publication Web, envoi de mails ou de SMS, transfert de fichiers automatisés, etc.

Objectifs pédagogiques
Objectifs pédagogiques :
- Comprendre les mécanismes de substituions du shell ($, `, ‘, *, \, etc.)
- Lancer un shell (PATH, filiation, exec, fork, &, |, ;, etc.)
- Maîtriser les structures de contrôles (if, while, …)
- Programmer et debugger un shellscript
- Maîtriser les expressions régulières
- Utiliser les outils sed et awk dans des shellscripts
- Faire le lien entre les concepts et outils présentés dans cette formation avec les besoins du quotidien des développeurs de shellscripts
Objectifs opérationnels
Objectif opérationnel :
Écrire des commandes et programmer en Shell.
Cette formation vous prépare au passage de la certification "AVIT by ENI - Administration d’un système Linux". Elle fait partie de notre cursus « Administrateur Système Linux » (ULAC) mais peut être suivie indépendamment.
La certification Administration d’un système Linux démontre votre compétence à administrer un système d’exploitation Linux (sur un poste client comme sur un poste serveur), à mettre à jour et faire évoluer le système.
L’examen de certification se passe en ligne sous forme d’un QCM d’une durée d’1h45. Le résultat s’affiche selon un score de 1000 points. Un score supérieur à 600 indique que les compétences sont acquises.
Lorsque la formation est suivie indépendamment du cursus « Administrateur Système Linux », la certification n’est pas obligatoire. L’inscription à l’examen n’est pas inclus dans le prix de la formation.
Programme
Contenu du cours, module par module
8 modules
- Principes
- Les différents interpréteurs : Bourne Shell, Korn Shell, Bash, C Shell.,Tcsh...
- Disponibilité des interpréteurs sur les divers systèmes.
- Le point sur la normalisation (impacts sur l'écriture des scripts)
- Les apports GNU (gawk, gsed...)
- Différences Bourne Shell/Korn Shell/Bash
- 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...)
- 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 standards, fichiers, tubes, document en ligne)
- 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.
- 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.
- 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.
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
Debugging d'un shell-script
- Commandes de debugging.
- Signaux de trace.
- Journalisation.
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.
- Tableaux de variables. Notations spécifiques.
- Opérations arithmétiques. Les alias suivis.
- Notion de coprocessus.
- Les commandes internes spécifiques.
Outils d'assistance pour la création de scripts
- Utilitaires système SUSv3
- Expression 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
- Élé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...)
Travaux pratiques
Des stations de travail connectées en réseau et fonctionnant sous Unix (AIX, Solaris) et/ou Linux seront à la disposition des participants de manière à mettre en pratique les notions présentées. Remarque : l'ensemble des travaux pratiques est réalisable à distance si vous optez pour la formule cours à distance
Programme mis à jour le 24/10/2025
Public concerné
Ce cours s'adresse aux informaticiens chargés de développer des shell-scripts, mais aussi aux correspondants informatiques ayant la responsabilité de grosses applications et aux responsables système ou d'exploitation.

Prérequis
Les participants à ce stage doivent avoir une formation de base à l'utilisation d'un système UNIX/Linux.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4,9/5
25 avis
« Mon avis sur le contenu du stage: J'attendais un peu plus d'informations sur la partie système. Mais il est vrais que ce n'est pas le but de ce cours. Mon avis sur le formateur: Le plus de l'intervenant est de vulgariser les mécanismes du shell ouvrant ainsi la voie à une meilleur compréhension, et donc une meilleure maîtrise des commandes. Mon avis sur la salle de formation: Afin de rassurer PLB, le retard du premier jour a été compensé par le très bon accueil ;-). Ce que j'ai le plus apprécié: 1° Le formateur 2° la qualité du support notamment au niveau de sa rédaction révèle un vrai pédagogie tournée vers la mise en pratique. Ce que j'ai le moins apprécié: J'aurai souhaité un cours plus dense avec les inconvénients inévitables au regard des niveaux hétérogènes que l'animateur doit prendre en compte pour permettre à chacun de suivre. »
Olivier « Mon avis sur le contenu du stage : "Formation idéale pour débuter en scripting shell , apporte de solides bases à développer ensuite par soi-même." Mon avis sur le formateur : "Très bon formateur, à l'écoute , très pédagogue n 'hésite pas à faire de légers écarts par rapport au plan de cours afin de rafraichir des notions parfois non prises en charge dans le cadre de la formation mais nécessaire à son suivi" Mon avis sur la salle de formation : "La formation à distance n'est pour moi pas idéale pour l'apprentissage , néanmoins techniquement après quelques réglages celle ci s'est déroulée sans anicroches " Ce que j'ai le plus apprécié : "Les manipulations en direct avec corrections pas le formateur au fil de l'eau" »
LM « Mon avis sur le contenu du stage : "Etant grand débutant, il a fallut que je m'accroche pour suivre mais cette formation a contribué consolidé sainement mes bases et plus encore. Merci Mr Baudouin !" Mon avis sur le formateur : "Etant grand débutant, il a fallut que je m'accroche pour suivre mais cette formation a contribué consolidé sainement mes bases et plus encore. Merci Mr Baudouin !" Ce que j'ai le plus apprécié : "La qualité d'échange avec l'animateur." Ce que j'ai le moins apprécié : "Le décalage horaire mais bon, c'est parce que vous passez à l'heure d'hiver." »
PS
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Formations liées
- IBM AIX / UNIX Langages de commandes Korn Shell et BashRéf. AN202G5 joursIntermédiaire
- Introduction à l'automatisation des réseaux pour les solutions CiscoRéf. CSAU3 joursIntermédiaireProchaine session : 14 déc.2 660 €
- Linux : Préparation à la certification LPIC-1Réf. LPIC12 joursFondamentalProchaine session : 30 nov.1 690 €
- Maîtriser les outils Linux (niveau 2)Réf. ULOU4 joursFondamentalProchaine session : 3 nov.2 490 €