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 [05/06/2014 07:34]
Hypathie [Redirections dans les scripts]
doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie [05/06/2014 09:31]
Hypathie [Redirections et le pipe dans les scripts]
Ligne 1: Ligne 1:
-====== script bash : enchaînement de commandesredirection ​ ======+====== script bash : enchaînement de commandes ​et redirection ​ ======
  
-  ​* Objet : du tuto FIXME +  * Niveau requis : {{tag>​débutant}}
-  ​* Niveau requis : FIXME {{tag>​débutant ​avisé}} +
-  * Commentaires : //Contexte d'​utilisation du sujet du tuto. // FIXME+
   * 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>en-chantier à-tester ​à-placer}} ​- FIXME Pour choisir, voir les autres Tags possibles dans [[:​atelier:#​tags|l'​Atelier]]. +  * Suivi : {{tag>​à-placer}} 
-    * Création par **Hypathie** ​03/06/2014 +    * Création par **Hypathie** ​18/03/2014 
-    * Testé par <...> le <...FIXME +    * Testé par <Hypathie> le <Juin 2014
-  * 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 !))
  
-**Nota : wiki n°4**+**Nota : wiki n°4**\\ 
 +**Les autres numéros :** 
 +  * wiki n°1 : [[atelier:​chantier:​debuter-avec-les-scripts-shell-bash]] 
 +  * wiki n°2 : [[atelier:​chantier:​script-bash-variables-arguments-parametres|script-bash-variables-arguments-parametres]] 
 +  * wiki n°3 : [[atelier:​chantier:​script-bash-detail-sur-les-parametres-et-les-boucles|script-bash-detail-sur-les-parametres]]  
 +   
 +  * wiki n°5 : [[atelier:​chantier:​script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sorie-et-les-tests]] 
 +  * wiki n°6 : [[atelier:​chantier:​script-bash-les-tableaux|script-bash-les-tableaux]] 
 +  * wiki n°7 : [[atelier:​chantier:​script-bash-les-fonctions|script-bash-les-fonctions]]
  
 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 [[atelier:​chantier:​bash-les-differents-caracteres-speciaux#​les-operateurs-de-controle|les opérateurs de contrôle]])\\
   * considérons :      * considérons :   
Ligne 21: Ligne 27:
 </​code>​ </​code>​
  
-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]]+Pour 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 successivité ​====+====parallélisme et succession====
  
 ===1) les opérateurs & , && et ;=== ===1) les opérateurs & , && et ;===
Ligne 102: Ligne 108:
 Voir : [[http://​abs.traduc.org/​abs-fr/​ch21.html|Guide avancé d'​écriture des scripts Bash: 21. Sous-shells]] Voir : [[http://​abs.traduc.org/​abs-fr/​ch21.html|Guide avancé d'​écriture des scripts Bash: 21. Sous-shells]]
  
-=====Redirections dans les scripts=====+=====Redirections ​et le pipe dans les scripts=====
   * À voir :    * À voir : 
-    * [[doc:​programmation:​shell:​shell#​rediriger-l-affichage| rediriger l'​affichage]] en particulier sur le pipe non abordé ici. \\  
     * [[atelier:​chantier:​bash-les-differents-caracteres-speciaux#​les-operateurs-de-redirection|un tableau des opérateurs de redirection]]     * [[atelier:​chantier:​bash-les-differents-caracteres-speciaux#​les-operateurs-de-redirection|un tableau des opérateurs de redirection]]
 ====Rappels :====  ====Rappels :==== 
Ligne 122: Ligne 127:
              le fichier quand il existe et que l'​option noclobber (-c) est activée.              le fichier quand il existe et que l'​option noclobber (-c) est activée.
 </​code>​ </​code>​
-====1) opérateurs ​de sortie ​==== +====Opérateurs ​de sortie ​et opérateurs d'​entrée ​==== 
-<code bash> ​  +  ​* Tout est là [[doc:​programmation:shell:​chevrons| les chevrons]] \\ 
- > ​crée un fichier ou le réactualise ; redirige le canal choisi vers un fichier et force sa création,  + 
-     si le fichier existe son contenu est recrée et numéro d'​inode du fichier d'​origine est conservé. +===Opérateurs de sortie dans un script :=== 
-</​code>​ +
-<code bash> +
-ls -l >​chemin-fichier.txt +
-</​code>​ +
-est un équivalent de +
-<code bash> +
-ls -l 1> chemin-fichier.txt +
-</​code>​ +
-===Dans un script :===+
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
Ligne 161: Ligne 158:
 Amateurs de magie blanche et noire voir ce fil : [[http://​debian-facile.org/​viewtopic.php?​pid=86634#​p86634]] Amateurs de magie blanche et noire voir ce fil : [[http://​debian-facile.org/​viewtopic.php?​pid=86634#​p86634]]
 </​note>​ </​note>​
-  *redirection de commande vers un fichier, si le fichier existe, ​les données sont ajoutées à la suite du fichier. ​+ 
 +===Opérateurs d'​entrée dans les scripts=== 
 <code bash> <code bash>
- >>  ​+< Place, en entrée d'une commande, un contenu. 
 +</code 
 +<code bash> 
 +cat < /​chemin/​du/​fichier.txt ​ # est un équivalent de cat /​chemin/​du/​fichier.txt
 </​code>​ </​code>​
 +<code bash>
 + <<​ Redirige en entrée une série de données.  ​
 +</​code>​
 +On nomme cette redirection "​label"​.\\ Redirection utilisée dans un document en ligne dont on se sert que pour certaines commandes, comme ftp ou cat.\\ Voir : [[http://​abs.traduc.org/​abs-5.0-fr/​ch18.html#​heredocref]]\\ ​
 +Ne pas confondre avec la commande e2label, voir : [[doc:​systeme:​e2label]]
 +
 +===Usages de la sortie d'​erreur dans les scripts===
  
-  *La sortie standard d'​erreur peut être dirigée vers un fichier en le créant ou en l'​écrasant :+  * La sortie standard d'​erreur peut être dirigée vers un fichier en le créant ou en l'​écrasant :
 <code bash> <code bash>
 ls vi 2>​err ​  # retour du prompt : le message d'​erreur a été inscrit ​ ls vi 2>​err ​  # retour du prompt : le message d'​erreur a été inscrit ​
Ligne 220: Ligne 229:
                              ​c'​est-à-dire le fichier "​erreur"​.                              ​c'​est-à-dire le fichier "​erreur"​.
 </​code>​ </​code>​
-====2)Opérateurs d'​entrée : ==== 
-<code bash> 
-< Place, en entrée d'une commande, un contenu. 
-</​code> ​ 
-<code bash> 
-cat < /​chemin/​du/​fichier.txt ​ # est un équivalent de cat /​chemin/​du/​fichier.txt 
-</​code>​ 
-<code bash> 
- <<​ Redirige en entrée une série de données.  ​ 
-</​code>​ 
-On nomme cette redirection "​label"​.\\ Redirection utilisée dans un document en ligne dont on se sert que pour certaines commandes, comme ftp ou cat.\\ Voir : [[http://​abs.traduc.org/​abs-5.0-fr/​ch18.html#​heredocref]]\\ ​ 
-Ne pas confondre avec la commande e2label, voir : [[doc:​systeme:​e2label]] 
  
-====3) Un petit exercice sur opérateurs ====+ 
 +====Un petit exercice sur opérateurs ====
 Écrire un script qui crée le dossier "​ABCD"​ et 4 fichiers vides (nommés a b c d) ; Écrire un script qui crée le dossier "​ABCD"​ et 4 fichiers vides (nommés a b c d) ;
 qui liste le contenu de "​ABCD"​ et qui inscrit le résultat dans un fichier nommé "​ls1"​ qui sera placé dans "​ABCD"​ ; qui liste le contenu de "​ABCD"​ et qui inscrit le résultat dans un fichier nommé "​ls1"​ qui sera placé dans "​ABCD"​ ;
Ligne 287: Ligne 285:
   * **$?** : permet ici de vérifier que la commande précédente s'est déroulée avec succès quand "​**;​**"​ a été utilisé, inutile de vérifier avec **&&​**.   * **$?** : permet ici de vérifier que la commande précédente s'est déroulée avec succès quand "​**;​**"​ a été utilisé, inutile de vérifier avec **&&​**.
  
 +====Le pipe ====
 +
 +Tout est là : [[doc:​programmation:​shell:​pipe|le pipe]]
  
 +=====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-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