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-enchainement-de-commandes-et-etat-de-sortie [20/06/2014 07:39]
Hypathie [Enchaînements de commandes dans les scripts]
doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie [20/06/2014 11:46]
Hypathie [Enchaînements de commandes dans les scripts]
Ligne 29: Ligne 29:
 //(Pour ce qui concerne les opérateurs de contrôle du point de vue de **l'​enchaînement conditionné** (avec && ; || ) 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]]).//​ //(Pour ce qui concerne les opérateurs de contrôle du point de vue de **l'​enchaînement conditionné** (avec && ; || ) 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 succession====+====parallélisme et succession ​& , && et ;====
  
-===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 55: Ligne 54:
 </​note>​ </​note>​
  
-====Regroupement de commandes====+====Regroupement de commandes, parenthèses ou accolades ?====
 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.
  
Ligne 141: Ligne 140:
  
 ====Notion de sous-shell ==== ====Notion de sous-shell ====
-Les variables comprises dans ces parenthèses,​ à l'​intérieur du sous-shell, ne sont pas visibles par le reste du script. Le **processus parent**, le script, ​ne peut pas lire les variables créées dans le processus fils, le sous-shell.+Les variables comprises dans ces parenthèses,​ à l'​intérieur du sous-shell, ne sont pas visibles par le reste du script. Le **processus parent** ne peut pas lire les variables créées dans le processus fils, le sous-shell.
  
 Dans le script ci-dessus on voit que le terminal "​reçoit le retour du shell père et celui du shell fils ( "echo $prenom"​ ). Dans le script ci-dessus on voit que le terminal "​reçoit le retour du shell père et celui du shell fils ( "echo $prenom"​ ).
Ligne 158: Ligne 157:
   nenette   nenette
   ​   ​
-Créer un sous-shell permet ainsi de protéger de ce qui se passe dans le processus fils.\+Créer un sous-shell permet ainsi de protéger de ce qui se passe dans le processus fils.\\
 Créer un processus fil permet aussi au processus père de continuer son programme "​pendant"​ l'​exécution du processus fils : ça évite de ralentir l'​ensemble du programme. Créer un processus fil permet aussi au processus père de continuer son programme "​pendant"​ l'​exécution du processus fils : ça évite de ralentir l'​ensemble du programme.
 +
 +<note tip>
 +En graphique, un sous-shell pour récupérer la main sur le terminal, c'est bien pratique 8-)\\
 +Comparez :
 +<code bash>
 +virtualbox
 +</​code>​
 +avec :
 +<code bash>
 +virtualbox &
 +[1] 4245
 +</​code>​
 +//Ici "​[1]"​ est le jobID et "​4245"​ est PID, l'​identifiant du processus.//​\\
 +//(Pour aller plus loin voir la notion de processus et les commandes : ps ; top ; nice et renice.)//
 +
 +Dans les deux cas, si l'on ferme le terminal, on ferme aussi "​virtualbox",​ processus fils du shell ; mais avec & le processus fils est en arrière plan et l'on peut donc utiliser le shell.
 +</​note>​
 ===Lancer deux sous-shell en parallèle === ===Lancer deux sous-shell en parallèle ===
 Il est possible de lancer deux processus en parallèle. Il est possible de lancer deux processus en parallèle.
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