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

Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie [03/06/2014 16:27]
Hypathie créée
doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie [05/06/2014 07:24]
Hypathie [enchaînements de commandes dans les scripts]
Ligne 1: Ligne 1:
-====== script bash : enchaînement de commandes ​et état de sortie ​======+====== script bash : enchaînement de commandes; redirection  ​======
  
   * Objet : du tuto FIXME   * Objet : du tuto FIXME
Ligne 10: Ligne 10:
   * Commentaires sur le forum : [[url | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME   * Commentaires sur le forum : [[url | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME
  
-**Nota :**+**Nota : ​wiki n°4**
  
 Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
  
 ===== enchaînements de commandes dans les scripts===== ===== enchaînements de commandes dans les scripts=====
- +Parmi les opérateurs d'​enchaînement de commandes (voir [[atelier:chantier:​bash-les-differents-caracteres-speciaux#​les-operateurs-de-controle|les opérateurs de contrôle]])\\ 
-**Parmi les opérateurs d'​enchaînement de commandes (voir : les opérateurs de contrôle)** considérons :   +  ​* considérons :   
 <​code>​ <​code>​
   &    && ​ ;  ( )    { }  ​   &    && ​ ;  ( )    { }  ​
 </​code>​ </​code>​
  
-====1) les opérateurs & , && et ;====+Pour les opérateurs de contrôle et l'​enchaînement conditionné ( && ; || ) voir : [[atelier:​chantier:​script-bash-etat-de-sorie-et-les-tests?&#​etat-de-sortie-et-code-de-retour|état de sortie et code de retour]] 
 + 
 +====parallélisme et successivité ==== 
 + 
 +===1) les opérateurs & , && et ;===
 Reprenons le script "​scriptx",​ et changeons les ";"​ d'​abord par "&",​ puis par "&&"​ Reprenons le script "​scriptx",​ et changeons les ";"​ d'​abord par "&",​ puis par "&&"​
 <code bash> <code bash>
Ligne 32: Ligne 36:
 Pourquoi ? Pourquoi ?
  
-  ​* **Avec l'​opérateur de contrôle "&"​ : toutes les commandes sont exécutées parallèlement.**\\  ​+  * Avec l'​opérateur de contrôle "&"​ : toutes les commandes sont exécutées parallèlement. ​
 (Dans l'​exemple ci-dessus, chaque commande étant traitée par un sous-shell, la valeur d'une commande ne peut pas être conservée dans un même processus pour que chaque commande puisse "​travailler en rapport au RESULTAT de la commande précédente. Par exemple, il faut que le fichier créé soit "​connu"​ du shell pour qu'il puise être ouvert par "​gedit"​ dans ce même shell.) (Dans l'​exemple ci-dessus, chaque commande étant traitée par un sous-shell, la valeur d'une commande ne peut pas être conservée dans un même processus pour que chaque commande puisse "​travailler en rapport au RESULTAT de la commande précédente. Par exemple, il faut que le fichier créé soit "​connu"​ du shell pour qu'il puise être ouvert par "​gedit"​ dans ce même shell.)
 +
 +  * Avec l'​opérateur de contrôle "&&"​ : la commande suivante est exécutée successivement à la précédente seulement si cette précédente commande a fonctionné (voir [[atelier:​chantier:​script-bash-etat-de-sorie-et-les-tests#​le-code-de-retour|code de retour]]). ​
    
-  ​* **Avec l'​opérateur ";"​ chaque commande est exécuté l'une après l'​autre,​ même si l'une d'elle a mal fonctionné.**\\ +  * Avec l'​opérateur ";"​ chaque commande est exécuté l'une après l'​autre,​ même si l'une d'elle a mal fonctionné. ​
    
 <​note>​ <​note>​
Ligne 43: Ligne 49:
 </​note>​ </​note>​
  
-====2) Deux syntaxes : { suite-de-commandes ​;} ou (suite-de-commandes;​)====+====Regroupement ​de commandes====
 le shell bash fournit deux mécanismes pour regrouper les commandes; l'​insertion de la suite de commandes entre accolades et l'​insertion de cette suite de commandes entre une paire de parenthèses. le shell bash fournit deux mécanismes pour regrouper les commandes; l'​insertion de la suite de commandes entre accolades et l'​insertion de cette suite de commandes entre une paire de parenthèses.
  
-  * **{ suite-de-commandes ;}**+==={ suite-de-commandes ;}=== 
 Les accolades sont des mots-clé de bash.\\ ​ Les accolades sont des mots-clé de bash.\\ ​
 Il ne faut donc pas oublier de mettre un **espace entre l'​accolade ouvrante et la première commande** de la liste. Il ne faut donc pas oublier de mettre un **espace entre l'​accolade ouvrante et la première commande** de la liste.
Ligne 74: Ligne 81:
 </​note>​ </​note>​
  
-**L'​utilisation du groupement de commande ​sert souvent à la redirection globale de l'​entrée du groupe de commande ou à sa sortie.** On le verra plus loin  +L'​utilisation du groupement de commandes ​sert souvent à la redirection globale de l'​entrée du groupe de commande ou à sa sortie.\\ On le verra plus loin
-  * **(suite-de-commandes ;)**+ 
 +===(suite-de-commandes ;)===
  
 Les parenthèses sont des opérateurs.\\ ​ Les parenthèses sont des opérateurs.\\ ​
doc/programmation/shells/script-bash-enchainement-de-commandes-et-etat-de-sortie.txt · Dernière modification: 21/10/2015 19:19 par milou

Pied de page des forums

Propulsé par FluxBB