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
doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie [16/10/2015 19:06]
milou [Script bash : enchaînement de commandes et redirection]
doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie [21/10/2015 19:19] (Version actuelle)
milou [Script bash : enchaînement de commandes et redirection]
Ligne 8: Ligne 8:
     * Création par [[user>​Hypathie]] le 18/03/2014     * Création par [[user>​Hypathie]] le 18/03/2014
     * Testé par [[user>​Hypathie]] Juin 2014     * Testé par [[user>​Hypathie]] 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=142174#p142174 ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
 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 !
------- 
  
 **Nota : Les autres wiki :** **Nota : Les autres wiki :**
Ligne 18: Ligne 17:
   * [[doc:​programmation:​shells:​script-bash-detail-sur-les-parametres-et-les-boucles|modification de variable et de paramètre]] ​   * [[doc:​programmation:​shells:​script-bash-detail-sur-les-parametres-et-les-boucles|modification de variable et de paramètre]] ​
   * ;-)   * ;-)
-  * [[atelier:chantier:​script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sorie-et-les-tests]] +  * [[doc:​programmation:shells:​script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sortie-et-les-tests]] 
-  * [[doc:​programmation:​bash:script:​tableaux|script-bash-les-tableaux]] +  * [[doc:​programmation:​shells:​tableaux|script-bash-les-tableaux]] 
-  * [[doc:​programmation:​bash:script:​fonction|script-bash-les-fonctions]]+  * [[doc:​programmation:​shells:​fonction|script-bash-les-fonctions]]
  
  
  
 =====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 [[doc:programmation:​shells:​bash-les-differents-caracteres-speciaux#​les-operateurs-de-controle|les opérateurs de contrôle]])\\
   * considérons maintenant :      * considérons maintenant :   
 <​code>​ <​code>​
Ligne 32: Ligne 31:
  
 > Pour ce qui concerne les opérateurs de contrôle du point de vue de **l'​enchaînement conditionné** (avec ''<​nowiki>&&</​nowiki>''​ et ''<​nowiki>​||</​nowiki>''​ )  > Pour ce qui concerne les opérateurs de contrôle du point de vue de **l'​enchaînement conditionné** (avec ''<​nowiki>&&</​nowiki>''​ et ''<​nowiki>​||</​nowiki>''​ ) 
-> 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]].+> voir : [[doc:programmation:​shells:​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 & , && et ;==== ====Parallélisme et succession & , && et ;====
Ligne 40: Ligne 39:
 >Toutes les commandes sont exécutées parallèlement. ​ >Toutes les commandes sont exécutées parallèlement. ​
 >Dans l'​exemple ci-dessus, chaque commande étant traitée par un sous-shell, ​ >Dans l'​exemple ci-dessus, chaque commande étant traitée par un sous-shell, ​
->le résultat d'une commande ne peut pas être conservée dans un même [[atelier:chantier:​bash-les-differents-caracteres-speciaux?&#​notion-de-processus|processus]],​+>le résultat d'une commande ne peut pas être conservée dans un même [[doc:programmation:​shells:​bash-les-differents-caracteres-speciaux?&#​notion-de-processus|processus]],​
 >afin que chaque commande puisse "​travailler"​ en rapport au résultat de la  >afin que chaque commande puisse "​travailler"​ en rapport au résultat de la 
 >​commande précédente. ​ >​commande précédente. ​
Ligne 49: Ligne 48:
 >La commande suivante est exécutée successivement à la précédente,​ seulement si cette >La commande suivante est exécutée successivement à la précédente,​ seulement si cette
 >​précédente commande a fonctionné. >​précédente commande a fonctionné.
->Voir [[atelier:chantier:​script-bash-etat-de-sorie-et-les-tests#​le-code-de-retour|code de retour]]. ​+>Voir [[doc:programmation:​shells:​script-bash-etat-de-sorie-et-les-tests#​le-code-de-retour|code de retour]]. ​
    
   * Avec l'​opérateur '';''​ : succession non conditionnée   * Avec l'​opérateur '';''​ : succession non conditionnée
Ligne 55: Ligne 54:
 >Chaque commande est exécuté l'une après l'​autre même si l'une d'elle a mal fonctionné. >Chaque commande est exécuté l'une après l'​autre même si l'une d'elle a mal fonctionné.
 ===Exemple=== ===Exemple===
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 set -o posix set -o posix
Ligne 77: Ligne 76:
 ==={ suite-de-commandes ;}=== ==={ suite-de-commandes ;}===
  
-Entre accolades, la valeur change commande après commande et le changement est conservé jusqu'​à la dernière commande parce que toutes la série appartient au même [[atelier:chantier:​bash-les-differents-caracteres-speciaux?&#​notion-de-processus|processus]].+Entre accolades, la valeur change commande après commande et le changement est conservé jusqu'​à la dernière commande parce que toutes la série appartient au même [[doc:programmation:​shells:​bash-les-differents-caracteres-speciaux?&#​notion-de-processus|processus]].
 <note important>​ <note important>​
 Les accolades sont des mots-clé de bash.\\  ​ Les accolades sont des mots-clé de bash.\\  ​
Ligne 83: Ligne 82:
 </​note>​ </​note>​
  
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 { pwd ; cd ~/Documents ; echo $(pwd) ;} { pwd ; cd ~/Documents ; echo $(pwd) ;}
Ligne 96: Ligne 95:
 Pour se servir des accolades pour conserver la valeur d'une variable et la faire changer de commande en commande, il ne faut pas terminer le regroupement de commandes par ''&''​.\\ ​ Pour se servir des accolades pour conserver la valeur d'une variable et la faire changer de commande en commande, il ne faut pas terminer le regroupement de commandes par ''&''​.\\ ​
 Car cela a pour effet de ne pas exécuter chaque commande dans le shell courant mais dans un sous-shell. ​ Car cela a pour effet de ne pas exécuter chaque commande dans le shell courant mais dans un sous-shell. ​
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 { pwd ; cd ~/Documents ; echo $(pwd) ;} & { pwd ; cd ~/Documents ; echo $(pwd) ;} &
Ligne 105: Ligne 104:
 </​code>​ </​code>​
  
-> Le prompt ne revient pas il faut faire ''​Ctrlc'' ​!+> Le prompt ne revient pas il faut faire <​key>​C-c</​key> ​!
  
 </​note>​ </​note>​
Ligne 117: Ligne 116:
 Insérée dans une parenthèse,​ la suite de commandes est exécutée dans un sous-shell.\\ ​ Insérée dans une parenthèse,​ la suite de commandes est exécutée dans un sous-shell.\\ ​
  
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 nom=nenette nom=nenette
Ligne 132: Ligne 131:
 <note tip> <note tip>
 On ne confondra plus ! On ne confondra plus !
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 { var1=yep ;} { var1=yep ;}
Ligne 148: Ligne 147:
  
 Mais : Mais :
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 var1=coucou var1=coucou
Ligne 169: Ligne 168:
 ===Le processus père ne peut pas récupérer les variables d'un processus fils=== ===Le processus père ne peut pas récupérer les variables d'un processus fils===
  
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 nom=nenette nom=nenette
Ligne 202: Ligne 201:
 Il est possible de lancer deux processus en parallèle. Il est possible de lancer deux processus en parallèle.
 Comparez le retour des lignes n°2 et n°3 avec celles des lignes n°5 et n°6 du code ci-dessous. Comparez le retour des lignes n°2 et n°3 avec celles des lignes n°5 et n°6 du code ci-dessous.
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 ( echo "​bonjour"​ ) & ( echo "au revoir"​ ) ( echo "​bonjour"​ ) & ( echo "au revoir"​ )
Ligne 237: Ligne 236:
   * et les droits sont limités.   * et les droits sont limités.
 =====Redirections et le pipe ===== =====Redirections et le pipe =====
-  * Liste des opératieurs : [[atelier:chantier:​bash-les-differents-caracteres-speciaux#​les-operateurs-de-redirection|un tableau des opérateurs de redirection]]+  * Liste des opératieurs : [[doc:programmation:​shells:​bash-les-differents-caracteres-speciaux#​les-operateurs-de-redirection|un tableau des opérateurs de redirection]]
   * Exercices dans le terminal, tout est là : [[doc:​programmation:​shell:​chevrons| les chevrons]]   * Exercices dans le terminal, tout est là : [[doc:​programmation:​shell:​chevrons| les chevrons]]
  
Ligne 337: Ligne 336:
 ===une solution=== ===une solution===
 Bonne lecture ;-) Bonne lecture ;-)
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 set -o posix set -o posix
Ligne 368: Ligne 367:
  
 =====La suite c'est ici===== =====La suite c'est ici=====
-[[atelier:chantier:​script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sorie-et-les-tests]]+[[doc:programmation:​shells:​script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sorie-et-les-tests]]
doc/programmation/shells/script-bash-enchainement-de-commandes-et-etat-de-sortie.1445015216.txt.gz · Dernière modification: 16/10/2015 19:06 par milou

Pied de page des forums

Propulsé par FluxBB