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 →
Ci-dessous, les différences entre deux révisions de la page.
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 08:06] Hypathie [Enchaînements de commandes dans les scripts] |
doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie [03/07/2014 00:06] 127.0.0.1 modification externe |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
* Suivi : {{tag>à-placer}} | * Suivi : {{tag>à-placer}} | ||
- | * Création par **Hypathie** 18/03/2014 | + | * Création par [[user>Hypathie]] 18/03/2014 |
* Testé par <Hypathie> le <Juin 2014> | * Testé par <Hypathie> le <Juin 2014> | ||
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=92203#p92203 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=92203#p92203 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
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 197: | Ligne 196: | ||
( ou set -r) | ( ou set -r) | ||
- | ===à quoi ça sert dans les script ?=== | + | ===à quoi ça sert dans les scripts ?=== |
On passe en mode restreint pour diminuer les risques.\\ | On passe en mode restreint pour diminuer les risques.\\ | ||
En mode restreint, certaines commandes sont désactivées : | En mode restreint, certaines commandes sont désactivées : |