info:bash:pipeline:code_retour

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
info:bash:pipeline:code_retour [2022/11/27 17:59] franckinfo:bash:pipeline:code_retour [2022/12/03 10:50] (Version actuelle) franck
Ligne 17: Ligne 17:
 PIPESTATUS[] se comporte comme un tableau bash.\\ PIPESTATUS[] se comporte comme un tableau bash.\\
 \\ \\
-A noter pour les exemples: "exit" permet de quitter un shell ou un sous-shell avec un code retour. Ne mettez pas cette commande en premier, sinon vous fermer le shell principale.Un pipe ouvre un sous-shell et la commande "exit" permet de quitter ce sous-shell créé par le pipe "|".\\+A noter pour les exemples: "exit" permet de quitter un shell ou un sous-shell avec un code retour. Hors la première commande d'un pipe s’exécute dans le shell courant. Si vous mettez exit, le shell courant est fermé et la suite du script n'est pas exécuté. Un pipe ouvre un sous-shell et la commande "exit" permet de quitter ce sous-shell créé par le pipe "|". Vous ne quittez donc pas le shell d'origine.\\
 \\ \\
 Pour la commande ci-dessous, la variable PIPESTATUS[0] renvoi le code retour de "true", soit 0 Pour la commande ci-dessous, la variable PIPESTATUS[0] renvoi le code retour de "true", soit 0
Ligne 28: Ligne 28:
 <code bash> <code bash>
 true | exit 10 | exit 20 | exit 30 | exit 40 | exit 50 | exit 60 true | exit 10 | exit 20 | exit 30 | exit 40 | exit 50 | exit 60
-echo "\${PIPESTATUS[0]}=${PIPESTATUS[4]}"+echo "\${PIPESTATUS[4]}=${PIPESTATUS[4]}"
 ${PIPESTATUS[4]}=40 ${PIPESTATUS[4]}=40
 </code> </code>
Ligne 65: Ligne 65:
     printf "échec de la recherche\n"     printf "échec de la recherche\n"
 </code> </code>
-\\+
 ====pipefail dans une commande Ansible==== ====pipefail dans une commande Ansible====
 Dans une commande Ansible vous pouvez utiliser l'option en début de ligne, et elle sera valable pour toute la ligne.\\ Dans une commande Ansible vous pouvez utiliser l'option en début de ligne, et elle sera valable pour toute la ligne.\\
 Vous pouvez ainsi récupérer le code retour d'erreur du pipeline avec un arrêt de l’enchaînement des commandes par pipe sur la commande en erreur. par exemple: Vous pouvez ainsi récupérer le code retour d'erreur du pipeline avec un arrêt de l’enchaînement des commandes par pipe sur la commande en erreur. par exemple:
- 
 <code yaml> <code yaml>
 - name: Recuperer le nom de répertoire numérique de la version la plus élevé dans /opt/rep/nn/ - name: Recuperer le nom de répertoire numérique de la version la plus élevé dans /opt/rep/nn/
  • /home/franck/dokuwiki/doc/data/attic/info/bash/pipeline/code_retour.1669568378.txt.gz
  • Dernière modification : 2022/11/27 17:59
  • de franck