Considera il seguente codice
outer-scope.sh
#!/bin/bash
set -e
source inner-scope.sh
echo $(inner)
echo "I thought I would've died :("
inner-scope.sh
#!/bin/bash
function inner() { echo "winner"; return 1; }
Sto cercando di outer-scope.shuscire quando una chiamata inner()fallisce. Poiché $()invoca una sotto-shell, ciò non accade.
In quale altro modo posso ottenere l'output di una funzione preservando il fatto che la funzione possa uscire con un codice di uscita diverso da zero?