Catégorie ateliers : lancement des exercices sur les scripts shell
Zopeuse le 22/04/2008
Bonjour,
J’ai l’honneur de débuter cette catégorie du blog (sur une proposition de carmie il y a quelques mois).
Les exercices que je proposerai porteront principalement sur l’apprentissage du shell scripting utile dans l’administration de systèmes Unix et Gnu/Linux.
- Objectif : Sous HP-UX, AIX et Solaris, les outils sont souvent compilés avec peu de fonctionnalités par rapport aux outils proposés dans les distributions Gnu/Linux ou dans cygwin sous ms-windows. L’objectif de ces exercices est donc de connaître les façons de réaliser un script plus que de donner des recettes toutes prêtes.
- Présentation : les exercices sont tous de la même forme :
Numéro : la progression en difficulté (1 est la plus basse)
Titre : Le but de l’exercice
Matériel : cela peut être un fichier à traiter ou un script sur lequel travailler.
Résultat à fournir : ce que vous devez créer : un script ou une ligne de commande.
Indications : Les commandes et opérateurs que je vous propose d’utiliser, et parfois j’ajoute une aide à la compréhension de la question par une reformulation. Consultez à chaque fois les manuels des commandes données dans les indications : aurel@bagage$ man macommande
Questions à se poser : Il s’agit de l’aide que je peux vous apporter pour acquérir une méthode de réflexion (il en existe sûrement beaucoup de différentes). - Rédaction : On présente les scripts de la façon suivante (# indique un commentaire en shell sauf pour la première ligne qui indique comment exécuter le script) :
#!/bin/sh # ^ pour l'exécution du script # @(#) Ce que fait le script sur une mini-ligne # @(#) Utilisateur : utilisateur normal ou root ou xxxxxx # liste des variables (si utilisées, une variable s'écrit souvent # en majuscule et sa valeur commence toujours par un $ ) MAVARIABLE="bonjour" # les commandes echo $MAVARIABLE # fin
- Exécution : Sous Gnu/Linux et Unix (pas sous ms-windows à ma connaissance), pour qu’un script soit exécutable, il faut changer ses droits :
aurel@bagage$ chmod u+x script.sh (= change les droits pour l’utilisateur (u) et rajoute un x (= droit d’exécution). Vérifiez les droits sur vos fichiers en faisant aurel@bagage$ ls -l dans le répertoire courant). - Editeurs : Pour plus de facilité au début, utilisez un éditeur qui colore votre code shell (tous les éditeurs de code peuvent le faire, qu’ils soient graphiques ou en ligne de commande). Sous les Unix on ne peut souvent pas colorer son code dans un terminal, alors utilisez un éditeur coloriant votre code le temps de prendre les bonnes habitudes : j’ouvre une côte, je ferme la côte, j’ouvre une parenthèse, je la ferme, j’idente ma ligne, etc.
- Optimisations : Je rappelle ici que rarement que les “admin systèmes” ont des optimisations importantes de performance à réaliser dans leurs scripts (on ne développe pas un logiciel ici, on automatise et on se dépêche de fournir un résultat). Un exercice portera quand même sur l’optimisation des scripts, histoire de ne pas écrouler les performances des machines.
- Bon apprentissage : Même si vous n’y arrivez pas, faites l’exercice de nombreuses fois avant de regarder les solutions, on apprend plus en se trompant et en cherchant qu’en espérant comprendre ce qui a été fait dans une solution. Il est plus difficile de se baser sur ce dont on se souvient par rapport à travailler sur son apprentissage de la méthode. Essayez de construire vous-même votre script et vous deviendrez rapidement efficace !
A demain pour le premier exercice !
à chaque nouvel exercice, la correction que je vous proposerai sera dans les commentaires de l’exercice corrigé.
1 commentaire pour Catégorie ateliers : lancement des exercices sur les scripts shell
Commenter
Trackbacks
Pour faire un trackback sur cet article : http://grepgrrl.org/2008/04/22/shell-scripting-exercices/trackback/


merci beaucoup ce site est trés riche et interesant en particulier pour nous les debutants, je veux demander des exercice avec la correction en details. Merci
Bonne chance