Le shell bash est aujourd'hui omniprésent sur toutes les distributions linux. Paradoxalement, l'extrême rareté des documents abordant de manière claire et concise l'énoncé et la résolution d'exercices relatifs à la programmation du shell bash sous les distributions linux, même pour les sujets les plus simples, est une réalité bien connue de tous ceux qui ont déjà tenté d'accéder à de telles documentations.
Cette réalité est surtout due au fait que très peu d'adeptes des distributions linux ont une connaissance poussée du shell bash. Par ailleurs, le shell bash n'est pas un compagnon aimé des partisans du moindre effort. En effet, il est extrêmement exigeant ; par exemple, il ne tolère nullement certaines légèretés telles que les erreurs d'espacement dans l'écriture des crochets utilisés pour faire des boucles (while[ a -eq b ]; do … done : si vous ne mettez pas d'espace entre le crochet ouvrant et a, cette boucle causera une erreur à l'exécution; de même si vous ne mettez pas d'espace entre b et le crochet fermant cette boucle, cela causera une erreur à l'exécution).
C'est en ayant conscience de ces faits marquants que je me suis attelé à élaborer un document pédagogique qui contient une multitude d'exercices résolus avec des niveaux de difficulté plus ou moins grands selon l'exercice abordé. Vous êtes invités à résoudre de façon personnelle chaque exercice avant de vous reporter aux solutions que je vous propose au sein de ce document. Chaque solution que je vous propose a été testée par moi-même sous la distribution LinuX UbuntU et marche à merveille.
S'il vous arrive de constater une erreur d'exécution après la saisie d'une de mes solutions, tachez de bien observer votre saisie afin de détecter les erreurs que vous-mêmes avez commises, car il est impossible que les programmes contenus dans ce document posent problème à l'exécution.
Voici un extrait du document : "Exercice8 (nom de script) - Ecrire un script qui affiche tout simplement son nom lorsqu'il est exécuté.
Par exemple si vous nommez le script jesus.sh , lorsqu'il sera exécuté il affichera tout simplement jesus.sh. Notez par ailleurs qu'il ne vous est pas permis de faire figurer explicitement ce nom dans le code de votre script ; la seule chose qui vous est permise c'est d'utiliser une variable du shell bash adéquate."
[...] Par ailleurs, le shell bash n'est pas un compagnon aimé des partisans du moindre éffort. En effet, il est extrêmement exigeant; par exemple, il ne tolère nullement certaines légèretés telles que les érreurs d'espacement dans l'écriture des crochets utilisés pour faire des boucles ( while[ a -eq b do . done : si vous ne mettez pas d'espace entre le crochet ouvrant et cette boucle causera une erreur à l'exécution; de même si vous ne mettez pas d'espace entre b et le crochet fermant cette boucle causera une erreur à l'exécution). [...]
[...] Programmation linux shell bash - quatorze exercices corrigés Sommaire INTRODUCTION EXERCICES ET SOLUTIONS Exercice1 (somme de deux nombres) Solution Exercice1 (somme de deux nombre) Exercice2 (produit de deux nombres) Solution Exercice2 (produit de deux nombres) Exercice3 (nombre factoriel) Solution Exercice3 (nombre factoriel) Exercice4 (nombre paire) Solution Exercice4 (nombre paire) Exercice5 (nombre premier) Solution Exercice5 (nombre premier) Exercice6 (comparaison de deux mots) Solution exercice6 (comparaison de deux mots) Exercice7 (tableaux triturés) Solution Exercice7 (tableaux triturés) Exercice8 (nom de script) Solution Exercice8 (nom de script) Exercice9 (arguments et variables du shell bash) Solution Exercice9 (arguments et variables du shell bash) Exercice10 (valeur maximum d'un tableau) Solution Exercice10 (valeur maximum d'un tableau) Exercice11 (valeur minimum d'un tableau) Solution exercice11 (valeur minimum d'un tableau) Exercice12 (renversement de tableau) Solution exercice12 (renversement de tableau) Exercice13 (Conjecture de Syracuse) Solution Exercice13 (Conjecture de Syracuse) Exercice14 (nombre d'Amstrong) Solution Exercice14 (nombre d'Amstrong) Introduction Le shell bash est aujourd'hui omniprésent sur toutes les distributions linux. Paradoxalement, l'extrême rareté des documents abordant de manière claire et concise l'énoncé et la résolution d'exercices relatifs à la programmation du shell bash sous les distributions linux , même pour les sujets les plus simples, est une réalité bien connue de tous ceux qui ont déjà tenté d'accéder à de telles documentations. Cette réalité est surtout due au fait que très peu d'adeptes des distributions linux ont une connaissance poussée du shell bash. [...]
[...] Exercices et solutions Exercice1 (somme de deux nombres) Ecrire un script qui effectue la somme de deux nombres réels fournis par l'utilisateur et affiche à l'écran le résultat obtenu. Solution Exercice1 (somme de deux nombres) #!/bin/bash echo ce programme effectue simplement la somme de deux nombres read 'donnez un nombre' nombre1 read 'donnez un second nombre' nombre2 let resultat = nombre1+nombre2'' echo la somme de ces deux nombres est $resultat'' Exercice2 (produit de deux nombres) Ecrire un script qui effectue le produit de deux nombres réels fournis par l'utilisateur et affiche à l'écran le résultat obtenu. [...]
[...] C'est en ayant conscience de ces faits marquants que je me suis atelé à élaborer un document pédagogique qui contient une multitude d'exercices résolus avec des niveaux de difficulté plus ou moins grands selon l'exercice abordé. Vous êtes invités à résoudre de façon personnelle chaque exercice avant de vous reporter aux solutions que je vous propose au sein de ce document. Chaque solution que je vous propose a été testée par moi-même sous la distribution LinuX UbuntU et marche à merveille. [...]
[...] Solution Exercice3 (nombre factoriel) #!/bin/bash read 'donnez un entier' n while [ -lt 0 ] do read 'donnez uniquement un entier naturel' n done if [ -eq 0 ] then echo par convention on admet que le factoriel de 0 est elif [ -eq 1 ] then echo factoriel de 1 est else let "index = let "factoriel = while [ $index -ne 0 ] do let "factoriel = factoriel*index" let "index = index-1" done echo "le factoriel de est $factoriel" fi Exercice4 (nombre paire) Ecrire un script qui détermine la parité d'un nombre fourni par l'utilisateur. Solution Exercice4 (nombre paire) #!/bin/bash read 'donnez un nombre' n while [ -lt 0 ] do read 'donnez un nombre entier naturel' n done let ''resultat = if [ $resultat -eq 0 ] then echo le nombre est un nombre paire'' else echo'' le nombre est un nombre impaire'' fi Exercice5 (nombre premier) Ecrire un script qui affiche à l'écran les 100 premiers nombres premiers. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture