Considérons le code suivant
outer-scope.sh
#!/bin/bash
set -e
source inner-scope.sh
echo $(inner)
echo "I thought I would've died :("
introspection.sh
#!/bin/bash
function inner() { echo "winner"; return 1; }
J'essaie de outer-scope.sh
sortir quand un appel à inner()
échouer. Depuis $()
invoque un sous-shell, cela ne se produit pas.
Sinon, comment puis-je obtenir le résultat d'une fonction tout en préservant le fait que la fonction peut se fermer avec un code de sortie non nul?