stdin と stderr をファイルにリダイレクトし、一連の処理を行ってから、それらのリダイレクトを元に戻し、ファイルの内容に対してアクションを実行するスクリプトが必要です。私はしようとしています:
function redirect(){
exec 3>&1
exec 4>&2
exec 1>outfile 2>&1
}
function undirect(){
exec 1>&3
exec 2>&4
}
echo first
redirect
echo something
cat kjkk
undirect
if some_predicate outfile; then echo ERROR; fi
これは私が望むことをしているようですが、かなり複雑に思えます。これを行うためのよりクリーンで明確な方法はありますか?