zsl*_*ton 7 bash shell file pipe named-pipes
我有一个程序(我没写过),它不是为了从文件中读取命令而设计的.在STDIN上输入命令非常繁琐,所以我希望能够通过在文件中编写命令来重新使用它来自动化它.麻烦的是,如果程序遇到EOF,它会无限循环尝试读取下一个命令,在屏幕上放下无数的菜单选项.
我希望能够做的是通过管道将包含命令的文件包含到程序中,然后使用某种shell魔法让它在文件的EOF中从文件切换到STDIN.
注意:我已经考虑过使用带有' - '的猫作为STDIN.不幸的是(之前我不知道),管道命令等待第一个程序的输出在启动第二个程序之前终止 - 它们不是并行运行的.如果有某种方法让程序与这种管道动作并行运行,那就行了!
有什么想法吗?谢谢你的帮助!
编辑:
我应该注意,我的目标不仅是阻止系统命中命令文件的末尾.我希望能够在文件命中EOF时继续从键盘输入命令.
Ide*_*lic 15
我会做点什么的
(cat your_file_with_commands; cat) | sh your_script
这样,当带有命令的文件完成后,第二个cat
将为您的脚本提供随后在stdin上键入的任何内容.