SOのQ&Aから取得した次のメソッドを使用して、ファイル名を解析して配列にするスクリプトがあります。
unset ARGS
ARGID="1"
while IFS= read -r -d $'\0' FILE; do
ARGS[ARGID++]="$FILE"
done < <(find "$@" -type f -name '*.txt' -print0)
これはうまく機能し、あらゆる種類のファイル名のバリエーションを完全に処理します。ただし、存在しないファイルをスクリプトに渡すこともあります。例:
$ findscript.sh existingfolder nonexistingfolder
find: `nonexistingfile': No such file or directory
...
通常の状況では、スクリプトで終了コードをキャプチャし、次のようなRET=$?
方法で終了コードを取得します。これは、上記のプロセス置換では機能しないようです。
このような場合の正しい手順は何ですか?リターンコードをキャプチャするにはどうすればよいですか?代替プロセスで何か問題が発生したかどうかを判断する他のより適切な方法はありますか?