Scripting Shell/Bash - Automatisez votre système Linux !
What you'll learn
- Qu’est-ce qu’un script ?
- Comprendre les composants principaux d'un script
- Être capable d'exécuter un script
- Comprendre ce qu'est le Shebang
- Savoir créer et utiliser des variables de manière conventionnelle
- Mettre en place des tests et des conditions dans vos scripts
- Utiliser les boucles
- Comprendre comment se servir des paramètres de position
- Savoir passer des arguments à son script
- Permettre à l'utilisateur de saisir des données qui vont être réutilisées par la suite
- Comprendre les codes retours et les sorties du script
- Savoir mettre en place et utiliser des fonctions
- Comprendre comment utiliser les WildCards
- Utiliser le Case
- Générer des logs
- Savoir comment débuger vos scripts
Requirements
- Être motivé !
- Avoir un niveau minimum de débutant en utilisation de GNU/Linux
- Pas de pré-requis nécessaires en développement et en programmation
Description
Vous vous êtes toujours demandés comment automatiser certaines tâches de votre système GNU/Linux ? Vous avez toujours eu envie d'en savoir plus sur le scripting shell ?
Ce cours est fait pour vous !
Vous y apprendrez comment effectuer du développement en Bash grâce à un découpage du cours en trois sections principales :
Les bases du scripting Shell : permet à ceux qui n'ont jamais développé de pouvoir comprendre le fonctionnement du scripting et d'être capable de mettre en place leurs premiers scripts grâce à une méthode pas à pas et à quelques exercices et quizz permettant d'asseoir les connaissances acquises.
Vous y verrez notamment à quoi correspond le Shebang, comment exécuter vos scripts, et qu'est-ce que sont les variables. Vous mettrez ensuite en place vos premiers tests avec les conditions If et les boucles For et While. Vous pourrez demander à l'utilisateur de saisir des données que votre script sera capable d'interpréter et d'utiliser par la suite.
Le scripting Shell intermédiaire : permettra d'utiliser à bon escient les codes erreurs (exit code) et les fonctionnalités accessibles grâce à l'utilisation du ET (&&) et du OU (||). Vous mettrez ensuite en place vos premières fonctions notamment lors d'un exercice vérifiant l'existence d'un fichier, et vous utiliserez les wildcards (aussi appelés métacaractères) pour rendre vos scripts beaucoup plus puissants !
Le scripting avancé : vous donnera les outils pour utiliser du code plus performant, par exemple grâce au case. Vous serez également capable de générer vos propres logs et d'utiliser le langage YAML pour les fichiers de configuration. Enfin vous en verrez d'avantages sur les variables (unset, export, typeset, readonly, etc...) et sur la commande sed.
Plusieurs exercices cloturent ce cours afin de mettre en pratique l'ensemble des éléments que vous avez acquis lors de cette formation.
Who this course is for:
- Les curieux et les débutants
- Quiconque souhaite apprendre à automatiser son système GNU/Linux
- Technicien, administrateur et ingénieur système et réseau
- DevOPS
Instructor
Après avoir obtenu un bac +5 d'expert en ingénierie de l'informatique et des systèmes d'informations spécialisé Système, Réseau et Cloud Computing, et travaillé notamment chez Orange, j'ai décidé de me lancer dans le Consulting.
J'ai alors partagé mon temps, entre des missions dans des grands groupes et des startups, et des missions de formation en Linux, NAGIOS, DevOPS et DevSecOps, Cisco et Juniper dans les grandes écoles d'informatique de la région parisienne et au sein des entreprises.
J'ai enseigné à l'école ESGI de niveau bac +3 à niveau bac +5, et à la chambre de commerce et d'industrie pour des niveaux bac +4 et bac +5.
J'ai été consultant DevSecOps, puis Technical Evangelist et enfin Directeur du Centre d'Excellence DevSecOps chez Squad.
J'ai ensuite rejoint la direction du développement de la société SII en tant que "National Solution Manager Infrastructure & Cloud"
Aujourd'hui je travaille en tant que Customer Engineer chez Google Cloud Platform, et j'accompagne les licornes et les startups françaises dans leur utilisation des services GCP pour atteindre leurs objectifs Business et Techniques.
Je suis certifié :
- GCP Professional Cloud DevOps Engineer
- GCP Associate Cloud Engineer
- Gitlab Certified Associate
- Certified Kubernetes Application Developer (CKAD)
- Illumio ASP Specialist Certifified
- Building Secure Container Images in CI/CD
- DevOps Foundation Certified
- Professional Scrum Master (PSM1)
- Cisco CCNA Routing and Switching
- Cisco CCNA Security
- Cisco CCNP Routing and Switching
- ITILv3 Foundation
- JNCIA
- Nagios Certified Professional