スクリプトに次のスニペットがあります。
exec 3<<<"$(zenity --entry --title="Enter PIN" | validate_pin || error_handler )"
他の場所では、ファイル記述子を介して PIN を渡す必要があるため、ここではリダイレクトとコマンド置換を行います。
の出力validate_pin
は、入力された PIN の変更された値ですが、終了コードによって、それが成功して有効であったかどうかが決まります。error_handler
障害を管理するために何を入れることができますか?
私が持っている場合exit
、コマンド置換サブシェルのみを終了します。コマンド置換サブシェルが閉じられるとすぐに、割り当てられた変数 (FAIL=1
など) も消去されます。ファイル記述子を読み取って動作を確認することはできますが、その後閉じられ、後続のプロセスはそれを使用できません。