Mam skrypt, który analizuje nazwy plików w tablicy przy użyciu następującej metody wziętej z pytań i odpowiedzi na temat SO :
unset ARGS
ARGID="1"
while IFS= read -r -d $'\0' FILE; do
ARGS[ARGID++]="$FILE"
done < <(find "$@" -type f -name '*.txt' -print0)
Działa to świetnie i doskonale radzi sobie ze wszystkimi odmianami nazw plików. Czasami jednak przekażę nieistniejący plik do skryptu, np .:
$ findscript.sh existingfolder nonexistingfolder
find: `nonexistingfile': No such file or directory
...
W normalnych okolicznościach skrypt powinien przechwycić kod wyjścia za pomocą czegoś podobnego RET=$?
i użyć go, aby zdecydować, jak kontynuować. Nie wydaje się, aby działało to z powyższym podstawieniem procesu.
Jaka jest poprawna procedura w takich przypadkach? Jak mogę przechwycić kod powrotu? Czy istnieją inne bardziej odpowiednie sposoby ustalenia, czy coś poszło nie tak w zastępowanym procesie?