因此,通常当您使用命令重定向输入时,find . | grep -i pineapple
它只会评估find .
,并且包含 的所有输入grep -i pineapple
。
但是,我需要编写一个脚本来运行程序,为其提供一些输入,读取一些输出,保持程序运行,然后根据之前的输出发送更多输入。例如,考虑一个使用scanf
两次的 C 程序,如果我正常重定向,我必须scanf
在运行程序之前指定两次调用的输入,但是我想给第二次调用 scanf 的内容取决于程序在两次调用之间的输出来电。
我尝试这样做,./pineapple >&0 <&1 &
这样我就可以作为标准输出和标准输入访问程序输入和输出,但这不起作用,不确定我的期望是什么。输入采用二进制格式,对于相同的输入,程序输出的内容并不总是相同(如果相关的话)。有什么简单的方法可以做到我所描述的吗?