Notes sur la programmation Shell - 3° partie, Notes de Application informatique
Francine88
Francine8826 février 2014

Notes sur la programmation Shell - 3° partie, Notes de Application informatique

PDF (160 KB)
9 pages
178Numéro de visites
Description
Notes d’informatique sur la programmation Shell - 3° partie. Les principaux thèmes abordés sont les suivants: Structures itératives Exercice d'application
20points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 9
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document
chapitreIII_Unix_Linux

A/ La structure conditionnelle if (2/2)

if <liste de commandes1>

Il est possible d’avoir des structures «if» imbriquées. Selon la syntaxe suivante:

if <liste de commandes1>

Structures conditionnelles

23

then<liste de commandes2>

else if <liste de commandes3>

then <liste de commandes4>

else <liste de commandes5>

fi

fi

then

<liste de commandes2>

elif <liste de commandes3>

then <liste de commandes4>

else <liste de commandes5> fi

B/ LA STRUCTURE CASE IN ESAC

case $<variale> in <chainel>) <commandes>;;

La structure case-in-esac permet d’effectuer un traitement spécifique selon la valeur

de la variable de test, la syntaxe est:

Structures conditionnelles

24

<chaine2>)<commandes>;; <chaineN>) <commandes>;; esac

case $ # in 0) echo “ Erreur pas de paramètres transmis exit 1;; 1) echo “un seul paramètres transmi “;; 2) echo “ deux paramètres transmis “;; *) echo “erreur trop de paramètres” exit1;; esac

Exemple

A/ LA CONSTRUCTION FOR-IN-DO-DONE (1/2)

La construction for permet d’effectuer un traitement répétitif pour les différentes valeurs

d’une variable.

Il y aura autant de passage que de valeurs.

Structures itératives

25

for <variable> in <val1> <val2> . . . <valN> do <commande 1> <commande2> . . . <commande P>

done

for <variable> in <liste> do done

Exemples

for fichier in f1 f2 f3 do

for fichier in * .c do

Structures itératives

A/ LA CONSTRUCTION FOR-IN-DO-DONE (2/2)

26

echo « $fichier est dans la liste» done

cat $fichier done

for Fichier in ‘Is’ do

if [-f $fichier ] then echo $fichier

fi done

La boucle “while” consiste à piloter l’exécution d’une commande en fonction de la valeur de retour d’une autre commande.

La boucle ‘until’, ressemble à la boucle while:

Structures itératives

B/ LA BOUCLE WHILE C/ LA BOUCLE UNTIL

27

while <liste de commandes 1> do

<liste de commandes2> done

Exemple while true

do

sleep 300

done

ctrl d

until <suite de commandes 1>

do

<liste de commandes2>

done

 La boucle until fonctionne d’une façon inverse à celle de while.

 La liste de commandes2 sera répétée jusqu’à ce que la dernière

Structures itératives

D/ REMARQUES

28

commande de liste de commande 1 retourne la valeur 0.

 La séquence est répétée tant que la condition est fausse.

 La commande « : » C’est la commande vide du shell. Son code de

retour est zéro et peut donc être utilisée comme constante vrai.

(Notamment pour le cas des boucles infinies).

Enoncé

Ecrivez un programme shell qui permet de renommer une série de

Exercice d’application

29

fichiers. Lisez le nom du fichier, s’il existe et non vide, vous lisez le

nouveau nom, renommez le fichier et bouclez sur une nouvelle

lecture, sinon vous affichez un message d’erreur et quittez le

programme.

Solution

while : do

echo ’’donnez le nom du fichier à renommer’’

Exercice d’application

30

read nomfic if [ -s $nomfic]

then echo ‘’donnez le nouveau nom’’ read nouvnom mv $nomfic $nouvnom else echo ‘’fichier inexistant ou vide exit’’

fi done

commentaires (0)
Aucun commentaire n'a été pas fait
Écrire ton premier commentaire
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document