Neo*_*Neo 8 linux bash shell redirection stdin
我需要使用bash的重定向工具来实现特定的效果。
我知道我可以将文件重定向到某个程序的标准输入:
[user@host]$ application < file.txt
Run Code Online (Sandbox Code Playgroud)
问题是,我想知道在将文件内容传递给该程序后,我能否重新获得对该程序输入的控制权。换句话说,我想运行一个类似于上面的命令,然后,我希望它等待来自标准输入(键盘)的进一步命令,而不是终止应用程序。
当我写这个问题时,我突然想到我可能会编写另一个应用程序(或脚本),首先将一些数据写入标准输出,然后充当回显,例如:
[user@host]$ stdin_proxy.sh | application
Run Code Online (Sandbox Code Playgroud)
它会起作用吗,有没有更好的方法来做到这一点?有一堆 Googleable 教程涵盖了这个问题,但它们都相当于一个建议——“在读取文件内容后重新打开标准输入”。然而,我无权访问application.
cat 可以很容易地做到这一点。
cat file.txt - | application
Run Code Online (Sandbox Code Playgroud)
请注意,这不会使应用程序误以为它实际上已连接到终端;你会需要unbuffer的。
| 归档时间: |
|
| 查看次数: |
2158 次 |
| 最近记录: |