Exercice 1 :
Écrire un shell script qui écrit sur sa sortie standard les messages suivants :Mon
nom est xxx je suis appele avec yyy arguments qui sont: 111 222 333 444(xxx
sera remplacé par le nom sous lequel ce shell script aura été invoqué, yyy par le
nombre d’arguments et 111, 2
22, etc. par les arguments en question). Quandce script fonctionnera
correctement, invoquez-le avec les cinq arguments :
Bienvenue dans le monde Linux
Puis avec un seul argument contenant la chaîne de caractères : Bienvenue dans
lemonde Linux.
Exercice 2 :
Créer un Shell script qui demande à l'utilisateur de saisir une note et qui
afficheun message en fonction de cette note :
·
"Très bien" si la note est entre 16 et 20 ;
·
"Bien" lorsqu'elle est entre 14 et 16 ;
·
"Assez bien" si la note est entre 12 et 14 ;
·
"Moyen" si la note est entre 10 et 12 ;
"Insuffisant" si la note est inférieur à 10.
Exercice 3 :
Créer un Shell script qui calcule la puissance
d’un nombre saisi par l’utilisateur
,l'usage de la boucle for est imposé.>./exo2Saisir une valeur :22^2 = 4
Exercice 4 :
Créer un Shell script
permettant de calculer une opération saisie par l’utilisateur
(les deux nombres opérandes et un signe opérateur (+-*/) devront être donnés
en paramètres). Le script doit réaliser l'opération souhaitée.>./exo3 7 + 4Le
résultat est : 11
Exercice 5 :
Créer un Shell script qui prend en paramètre ou en saisie le nom d'un fichiercontenant le
nom des élèves et leurs trois notes. Le script devra : afficher les nomsdes élèves, puis calculer
et afficher la moyenne de chaque élè[Link] comment se présente le fichier :Salim 12 9
14Mohammed 8 11 4Salah 9 12 1
F a c u l t é d e s S c i e n c e s d
e T u n i s L C E - L C S Département des Sciences
Informatiques
Niveau :
1
Module :
Système d’exploitation
Enseignants :
Mohamed NAOUAIRamzi ZOUAOUI
Année Universitaire :
2022-2023
Ecriture de script-shell sous Linux / UnixSupport des TPs
LAB 5 : Les Script Shell
Exercice 1:
Créer un script qui demande à l'utilisateur de saisir une note et qui affiche un
message enfonction de cette note :
✔
« très bien » si la note est entre 16 et 20 ;
✔
« bien » lorsqu'elle est entre 14 et 16 ;
✔
« assez bien » si la note est entre 12 et 14 ;
✔
« moyen » si la note est entre 10 et 12 ;
✔
« insuffisant » si la note est inférieure à 10.
Proposition#!/bin/bashecho "Entrez votre note :"; read -r noteif
[ "$note" -ge 16 ]; then echo "très bien"elif [ "$note" -ge 14 ]; then
echo "bien"elif [ "$note" -ge 12 ]; then echo "assez bien"elif
[ "$note" -ge 10 ]; then echo "moyen"else echo "insuffisant"fi
1/5
Exercice 2:
Écrire un script shell «bienvenue» qui affiche un message de bienvenue en
fonction del’heure systè[Link] obtenir l’heure actuelle: $date +%HSi l’heure <
12h : Alors affichez « bonjour »Si 12h < l’heure < 17h : Alors affichez « bon
après midi » Si l’heure> 17h : Alors affichez « Bonsoir ».(if / then /else) (-lt/-gt)
Exercice 3
Créer un script shell nommé "nombreJours" qui affichera le nombre de jours du
mois courant."
nombreJours
" affichera pour février 2021 le message "
28 jours en février 2021
".
→ Structure caseExercice 4
Écrire un script qui dit si le premier paramètre passé en ligne decommande est
un nom de fichier ou non.
Exercice 5
Écrire un script qui affiche la taille d'un fichier passé en paramètre sous la forme
: Nom du fichier : [Link] Taille 1562 octets
⇒
du -bExercice 6
Écrire un script shell « division » qui accepte deux paramètres entiers puis
calcule et afficheleur quotient. Il faut traiter tous les cas possibles.
✔
Cas 1: ./division 5 2 : le résultat 5/2
⇒
2 (expr)
✔
Cas 2: ./division 5 : le nombre de paramètres est différent de 2
✔
Cas 3: ./division 5 0 : la division est impossible résultat 5/2
Exercice 7
Ecrire un script shell « Maximum » qui accepte deux paramètres entiers puis
affiche leur valeur maximale
Exercice 8
Écrire un script Shell qui dit si la chaîne passée en paramètre correspond à un
nom de fichier
2/5
ordinaire, à un répertoire ou autre. (test -f / -d)
Exercice 9
Écrire un script Shell qui prend en paramètre les noms de deux répertoires et qui
déplace lesfichiers ordinaires du premier répertoire dans le deuxième. Un
message d’erreur est affiché sile nombre de paramètres est inférieur à deux. Ou
si les paramètres ne sont pas des répertoires.(test -d / $#)
Exercice 10
Écrire un script qui n’accepte pas de paramètres et qui parcourt le répertoire
courant et ajoutedes droits d’exécution à tous les utilisateurs pour les
fichiers script bash. Nous identifieronsu n f i c h i e r s c r i p t b a s h p a r s a
première ligne qui commence par « # ! /bin/bash »
⇒
grep /chmod / test -f
Exercice 11
Ecrire un script ajouter_num_ligne qui pour chaque fichier entrée en paramètre«
fich », génère un fichier « fich_plus_num », qui contient le même contenu que
fich mais oùchaque ligne est précédée par un numéro.
3/5