Comment annuler l’effet de «set -e» qui fait sortir bash immédiatement si une commande échoue?

Après avoir entré set -e dans un shell de bash interactif, bash quittera immédiatement si une commande existe avec des valeurs non nulles. Comment puis-je annuler cet effet?

    Avec set +e . Ouais, c’est en arrière que vous activez les options du shell avec set - et les désactivez avec set + . Les raisins historiques, donc, donc.

    Il peut être imprudent d’utiliser set +e / set -e chaque fois que vous voulez le remplacer. J’ai trouvé une solution plus simple.

    Au lieu de le faire comme ça:

     set +e command_that_might_fail_but_we_want_to_ignore_it set -e 

    vous pouvez le faire comme ceci:

     command_that_might_fail_but_we_want_to_ignore_it || true 

    ou, si vous voulez enregistrer des frappes au clavier et que cela ne vous dérange pas d’être un peu énigmatique:

     command_that_might_fail_but_we_want_to_ignore_it || : 

    J’espère que cela t’aides!

    • L’utilisation de + plutôt que – entraîne la désactivation de ces indicateurs.

    La source