![将文件重定向到特定程序后返回“stdin”](https://linux22.com/image/1257229/%E5%B0%86%E6%96%87%E4%BB%B6%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E7%89%B9%E5%AE%9A%E7%A8%8B%E5%BA%8F%E5%90%8E%E8%BF%94%E5%9B%9E%E2%80%9Cstdin%E2%80%9D.png)
我需要使用 的bash
重定向功能来实现特定的效果。
我知道我可以将文件重定向到某个程序的标准输入:
[user@host]$ application < file.txt
问题是,我想知道在文件内容传递给程序后,我是否可以重新获得对该程序输入的控制权。换句话说,我想运行类似于上述的命令,然后,我希望它等待来自标准输入(键盘)的进一步命令,而不是终止应用程序。
当我写这个问题时,我突然想到我可能可以编写另一个应用程序(或脚本),它首先将一些数据写入标准输出,然后充当回显,例如:
[user@host]$ stdin_proxy.sh | application
这样做可行吗?还有没有更好的方法?有很多 Google 教程涉及此问题,但它们都归结为一个建议 - “在读取文件内容后重新打开 stdin”。但是,我无法访问源代码application
。