したがって、通常、コマンドを使用して入力をリダイレクトすると、評価のみが実行され、find . | grep -i pineapple
すべてfind .
の入力が含まれますgrep -i pineapple
。
ただし、プログラムを実行し、いくつかの入力を提供し、いくつかの出力を読み、プログラムを実行し続け、そして前の出力に基づいて追加の入力を送信するスクリプトを作成する必要があります。たとえば、scanf
scanfを2回使用するCプログラムを考えてみましょう。正常にリダイレクトする場合は、プログラムを実行する前に両方の呼び出しの入力を指定する必要がありますが、2scanf
番目のscanf呼び出しに提供する内容は、プログラムが実行する操作によって異なります。通話間に着信通話が出力されます。
stdoutとstdinでプログラムの入力と出力にアクセスできるようにこれを試しましたが、うまくいきません./pineapple >&0 <&1 &
でした。予想される内容がわからない。入力はバイナリ形式であり、同じ入力に対してプログラム出力が常に同じではありません(関連する場合)。私が説明した作業を簡単に行う方法はありますか?