0% ont trouvé ce document utile (0 vote)
15 vues3 pages

Structures itératives en Shell Script

Ce document décrit trois structures itératives en Shell: for, while et until. Il présente leur syntaxe et donne des exemples d'utilisation comme parcourir une liste de paramètres ou le contenu d'un fichier. Le document décrit ensuite trois exercices à réaliser avec ces structures dans des scripts Shell.

Transféré par

chahoub
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues3 pages

Structures itératives en Shell Script

Ce document décrit trois structures itératives en Shell: for, while et until. Il présente leur syntaxe et donne des exemples d'utilisation comme parcourir une liste de paramètres ou le contenu d'un fichier. Le document décrit ensuite trois exercices à réaliser avec ces structures dans des scripts Shell.

Transféré par

chahoub
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Département Informatique

TP et Télécommunications.
Programmation Shell Niveau: 1ère SIL

TP4: Les structures itératives


Objectifs

— Utiliser les structures itératives for, while et until dans un script Shell.

1 Notions de cours
1.1 La structure for
La structure répétitive for permet de parcourir une liste de valeurs et de boucler
autant de fois qu’il y a de valeurs. Cette structure a la forme générale suivante :
for variable in $liste_valeurs
do
# commandes à ex é cuter pour chaque it é ration .
done

$liste valeurs est une liste de valeurs séparées généralement par des espaces.

1.2 La structure while


La structure itérative while permet de boucler tant que la dernière commande placée
avant do retourne vrai . La forme générale de la structure est la suivante :
while
# commandes à ex é cuter pour chaque it é ration .
do
# commandes à ex é cuter tant que la derni è re commande plac é e
# avant do retourne vrai .
done

1.3 La structure until


A la différence de while, la structure until permet de boucler tant que la dernière
commande placée avant do retourne faux . Voici sa forme générale :
until
# commandes à ex é cuter pour chaque it é ration .
do
# commandes à ex é cuter tant que la derni è re commande plac é e
# avant do retourne faux .
done

Aymen FERJANI page 1 de 3 AU: 2017/2018


Département Informatique
TP et Télécommunications.
Programmation Shell Niveau: 1ère SIL

1.4 Astuces
1.4.1 Parcourir la liste des paramètres

for i in $ *
do
# A chaque it é ration , $i contient la valeur d ’ un param è tre .
done

1.4.2 Parcourir le contenu d’un fichier ligne par ligne

while read ligne


do
# A chaque it é ration , $ligne contient une ligne à partir
# du fichier $fich .
done < $fich

1.4.3 Parcourir le contenu d’un dossier

cd " $dossier "


for f in *
do
# A chaque it é ration , $f contient le nom d ’ un fichier qui
# se trouve sous $dossier .
done

2 Exercices pratiques
Exercice 1
Écrire le script ([Link]) qui devra parcourir la liste des paramètres, ensuite sous
le dossier courant et selon la valeur de chaque paramètre :
— Si la valeur commence par une majuscule, le script crée un dossier ayant comme
nom cette valeur.
— Sinon, le script crée un fichier ayant comme nom cette valeur.
— Si le nom existe déjà, le script ne fera rien.
Voici un exemple qui teste si une chaı̂ne $ch commence par une majuscule :
if [ $ ( echo $ch | grep " ^[ A - Z ] " | wc -l ) - eq 1 ]
then
echo " $ch commence par une majuscule "
else
echo " $ch ne commence pas par une majuscule "
fi

Aymen FERJANI page 2 de 3 AU: 2017/2018


Département Informatique
TP et Télécommunications.
Programmation Shell Niveau: 1ère SIL

Exercice 2
Écrire le script ([Link]) qui prend en paramètre le chemin d’un fichier composé par
des lignes dont chacune représente le nom, le prénom et la note d’un étudiant.
Chaque ligne a la forme suivante :
nom * prenom * note

Le script devra parcourir ce fichier ligne par ligne, ensuite afficher le nombre d’étudiants
total ainsi que le nombre d’étudiants ayant une note supérieure ou égal à 10.
Utiliser la commande cut pour récupérer la note d’un étudiant.

Exercice 3
Écrire le script ([Link]) qui prend en paramètre le chemin d’un dossier.
Ce script devra d’abord créer 2 dossiers (PDF) et (MP3) sous le dossier passé en
paramètre. Ensuite, il parcourt le contenu de ce dernier et effectue les actions suivantes :
— Tout fichier ordinaire rencontré dont le nom se termine par ”.pdf” sera déplacé vers
(PDF).
— Tout fichier ordinaire rencontré dont le nom se termine par ”.mp3” sera déplacé
vers (MP3).
Un message sera affiché après chaque déplacement.

Aymen FERJANI page 3 de 3 AU: 2017/2018

Vous aimerez peut-être aussi