logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:programmation:shells:script-bash-etat-de-sorie-et-les-tests [10/07/2014 16:35]
Hypathie [État de sortie et code de retour]
doc:programmation:shells:script-bash-etat-de-sorie-et-les-tests [11/07/2014 04:35]
martinux_qc [Script bash : état de sorie et les tests]
Ligne 1: Ligne 1:
-====== Script bash : état de sorie et les tests ======+====== Script bash : état de sortie ​et les tests ======
  
   * Niveau requis : {{tag>​débutant}}   * Niveau requis : {{tag>​débutant}}
Ligne 52: Ligne 52:
   ||    && ​   ;    <​retour-chariot>  ​   ||    && ​   ;    <​retour-chariot>  ​
 </​code>​ </​code>​
-est basé utilise ​le code de retour :+ceux fonctionnant sur le code de retour, sont :
  
-  - L'​opérateur ''​&&'',​ ''​cmd1 && cmd2''​ : avec cet opérateur, la commande 2 est exécutée si le code retour de la commande 1 est ''​0''​ (c'​est-à-dire,​ si elle a fonctionné).\\  +  - l'​opérateur ''​et'',​ ''​cmd1 && cmd2''​ : avec cet opérateur, la commande 2 est exécutée si le code retour de la commande 1 est ''​0''​ (c'​est-à-dire,​ si elle a fonctionné). 
- +  - l'​opérateur ''​ou'',​ ''​cmd1 || cmd2''​ : la commande 2 est exécutée si le code de retour de la première est __différente de zéro__, c'​est-à-dire si elle n'a pas fonctionné.  ​
-  - L'​opérateur ''​||'',​ ''​cmd1 || cmd2''​ : la commande 2 est exécutée si le code de retour de la première est __différente de zéro__, c'​est-à-dire si elle n'a pas fonctionné.  ​+
  
   * Exemple :    * Exemple : 
Ligne 113: Ligne 112:
  
   * Syntaxe : ''​exit ​ nombre''​   * Syntaxe : ''​exit ​ nombre''​
 +
 >Avec un nombre de 1 à 3 chiffre(s). >Avec un nombre de 1 à 3 chiffre(s).
-  ​+
 ===La commande "​exit"​ === ===La commande "​exit"​ ===
 ''​exit''​ permet de remplacer le code de retour de la dernière commande d'un script. ''​exit''​ permet de remplacer le code de retour de la dernière commande d'un script.
Ligne 132: Ligne 132:
 </​code>​ </​code>​
  
-puis (dans le même terminal) :+<code user> 
 +./​mon-script 
 +</​code>​
 <code user> <code user>
 echo $? echo $?
Ligne 210: Ligne 212:
  
 <note tip> <note tip>
- ​**Attention au signe =** + ​**Attention au signe ''​=''​** 
-Ne pas confondre le signe = de l'​affectation d'une variable par une valeur (voir ci-dessus [[atelier:​chantier:​debuter-avec-les-scripts-shell-bash#​affectation-directe|affectation directe]])\\ avec l'​opérateur de correspondance = (ou ==  ) utilisé dans les tests.\\  +Ne pas confondre le signe ''​='' ​de l'​affectation d'une variable par une valeur (voir ci-dessus [[atelier:​chantier:​debuter-avec-les-scripts-shell-bash#​affectation-directe|affectation directe]])\\ avec l'​opérateur de correspondance ​''​='' ​(ou ''​=='' ​ ) utilisé dans les tests.\\  
-Dans les tests sur les entiers l'​égalité est représentée par l'​option -eq !+Dans les tests sur les entiers l'​égalité est représentée par l'​option ​''​-eq'' ​!
 </​note>​ </​note>​
  
Ligne 219: Ligne 221:
 De même que la composition de commandes vu plus haut, on se sert de la composition avec les tests. Et oui les doubles crochets et la commande test sont des commandes ! LOL De même que la composition de commandes vu plus haut, on se sert de la composition avec les tests. Et oui les doubles crochets et la commande test sont des commandes ! LOL
  
-  * séquentielle : cmd1 ; cmd2 +  * séquentielle : ''​cmd1 ; cmd2''​ 
-  * parallèle : cmd1 & cmd2 +  * parallèle : ''​cmd1 & cmd2''​ 
-  * sur erreur (ou) : cmd1 || cmd2 +  * sur erreur (ou) : ''​cmd1 || cmd2''​ 
-  * sur succès (et) : cmd1 && cmd2+  * sur succès (et) : ''​cmd1 && cmd2''​
  
   * rappel des options des commandes de test :   * rappel des options des commandes de test :
-  - -z $chaine : teste si la variable ne contient rien +  - ''​-z $chaine'' ​: teste si la variable ne contient rien 
-  - -n $chaine : teste si la variable contient quelque-chose+  - ''​-n $chaine'' ​: teste si la variable contient quelque-chose
  
 <code bash> <code bash>
Ligne 259: Ligne 261:
 ===Alternatives : case et paramètres passés aux scripts=== ===Alternatives : case et paramètres passés aux scripts===
 <note tip> <note tip>
-Attention case n'​utilise pas d'​expression régulière,​ il s'agit plutôt de "​pattern matching"​.\\+Attention, ''​case'' ​n'​utilise pas d'​expression régulière,​ il s'agit plutôt de "​pattern matching"​.\\
 Voir : [[http://​bash.leyan.org/​Cours+5+-+bash+II#​Structure_conditionnelle_i_case_i_| les symboles reconnus par cases sont ceux servant à la manipulation des fichiers]]. Voir : [[http://​bash.leyan.org/​Cours+5+-+bash+II#​Structure_conditionnelle_i_case_i_| les symboles reconnus par cases sont ceux servant à la manipulation des fichiers]].
 </​note>​ </​note>​
Ligne 271: Ligne 273:
 esac    ​ esac    ​
 </​code>​ </​code>​
-  * explications ​:+  * Explications ​:
   - case "​teste"​ la valeur du paramètre passé au script avec chaque "​expression"​ ;   - case "​teste"​ la valeur du paramètre passé au script avec chaque "​expression"​ ;
   - et en fonction de la réussite ou de l'​échec du test, il y a exécution ou non des commandes placées au niveau de "​instructions"​ ;   - et en fonction de la réussite ou de l'​échec du test, il y a exécution ou non des commandes placées au niveau de "​instructions"​ ;
doc/programmation/shells/script-bash-etat-de-sorie-et-les-tests.txt · Dernière modification: 22/10/2015 18:39 par milou

Pied de page des forums

Propulsé par FluxBB