Les instructions de conditionnel en langage C Shell sont au nombres de deux légèrements différentes de celle du C:
- if() then ... else
- switch() ... case: endsw
if
L'instruction «if» permet le teste d'une condition et de choisir d'effectuer des instructions plutôt que d'autre dans le cas ou celle-ci serait vrai.
Voici donc les syntaxes:
if(expression_vrai) then
instruction_exécuté_si_vrai
endif
|
ou
if(expression_vrai) then
instruction_exécuté_si_vrai
else
instruction_exécuté_si_faux
endif
|
Vous y remarquerez donc après les syntaxes proposé que l'instruction «else» n'est
pas obligatoire. Il est également à noter qu'une condition est vrai si elle est différente de zéro et
de se fait qu'il n'y a pas de symbole de d'égalité classique (==, <=, >=). Enfin, on peut aussi bien exécuté une
instruction seul ou bloc d'instruction contrairement à Perl.
switch
Lorsqu'on effectue une série de teste répétitive sur une même variable avec différente valeur de la manière suivante:
if(valeur == 1) then
instruction_exécuté_si_vrai
else if(valeur == 2) then
instruction_exécuté_si_vrai2
else if(valeur == 3) then
instruction_exécuté_si_vrai3
else
instruction_exécuté_si_faux
endif
|
On devrait plutôt tenté d'utiliser l'instruction «switch» laquelle permet une meilleure lisibilité en plus de
simplifié la compréhension pour un programmeur externe à votre code. Ainsi, l'instruction «switch» permet d'effectuer
une de nombreuses comparaison sur un unique résultat. Voici donc sa syntaxe:
switch(résultat)
case valeur1:
instruction1_exécuté_si_vrai1
breaksw
case valeur2:
instruction_exécuté_si_vrai2
breaksw
case valeur3:
instruction_exécuté_si_vrai3
breaksw
default:
instruction_exécuté_si_faux
breaksw
endsw
|
L'instruction «breaksw» empêche l'exécution suivante, et en dépit qu'elle n'est pas obligatoire elle dans la plupart
des cas présentes. L'instruction «default» n'est pas obligatoire, il est tout de même préférable de l'inclure
pour prévenir une situation anormale ou d'erreur.
|
|
| Dernière mise à jour: Dimanche, le 12 mars 2006 |