bash 中从 fifo 和终端同时输入

bash 中从 fifo 和终端同时输入

我正在脚本内运行 ffmpeg,我希望能够通过在运行的终端中按“q”(默认行为)或通过将“q”输入到 fifo 文件来退出 ffmpeg,无论我碰巧选择哪个程序的运行。

ffmpeg </fifo_file允许我通过 fifo 文件退出,但是现在不接受键盘输入。从概念上讲,我认为这将是一个相当简单的问题,然后将输入从键盘重定向到 fifo,这样无论哪种方式输入都会通过 fifo,然后进入 ffmpeg 的标准输入。但我已经搜索过了,却一无所获。

在我看来,能够对任何命令执行非常基本的操作,而不仅仅是 ffmpeg:将两个输入源(终端中的按键和 fifo 的输入)合并到一个标准输入中。我认为终端输入>fifo>程序的具体顺序是最好的,这样fifo将始终是输入的最终来源而不是阻塞。

我希望有一个简单的 bash 脚本来执行上述操作,如果其中有对管道/重定向逻辑的清晰解释,那就更好了。

相关内容