bashのfifoと端末からの同時入力

bashのfifoと端末からの同時入力

スクリプト内でffmpegを実行していますが、実行中の端末で「q」を押すか(デフォルトの動作)、fifoファイルに「q」と入力してffmpegを終了できます。どのプログラムを選択しても構いません。走る。

ffmpeg </fifo_filefifoファイルで終了できますが、キーボードの入力は許可されません。概念的には、入力がfifoを通過してからffmpegの標準入力に移動するようにキーボードからfifoに入力をリダイレクトすることは非常に単純な問題だと思います。しかし、私は検索しましたが、何も見つかりませんでした。

ffmpegだけでなく任意のコマンドで実行できることは非常に基本的なことのようです。 2つの入力ソース(ターミナルのキー入力とfifoの入力)を1つの標準入力にマージします。私はターミナル入力> fifo>プログラムの特定の順序が最善だと思います。そうすれば、fifoは常にブロックではなく入力の最終ソースになります。

上記のタスクを実行するための簡単なbashスクリプトをしたいと思います。パイプ/リダイレクトロジックの明確な説明があればより良いでしょう。

関連情報