Ho uno script che analizza i nomi dei file in un array usando il seguente metodo tratto da una domanda e risposta su SO :
unset ARGS
ARGID="1"
while IFS= read -r -d $'\0' FILE; do
ARGS[ARGID++]="$FILE"
done < <(find "$@" -type f -name '*.txt' -print0)
Funziona alla grande e gestisce perfettamente tutti i tipi di varianti di nome file. A volte, tuttavia, passerò un file inesistente allo script, ad esempio:
$ findscript.sh existingfolder nonexistingfolder
find: `nonexistingfile': No such file or directory
...
In circostanze normali vorrei che lo script acquisisse il codice di uscita con qualcosa di simile RET=$?
e lo usassi per decidere come procedere. Questo non sembra funzionare con la sostituzione del processo sopra.
Qual è la procedura corretta in casi come questo? Come posso acquisire il codice di ritorno? Ci sono altri modi più adatti per determinare se qualcosa è andato storto nel processo sostituito?