在Unix中,如何将命令行输入传递给外部进程
我的程序运行(exec..)一个外部程序。 运行时,外部程序要求用户[是/否]继续下一步在Unix中,如何将命令行输入传递给外部进程,unix,command-line,input,fork,Unix,Command Line,Input,Fork,我的程序运行(exec..)一个外部程序。 运行时,外部程序要求用户[是/否]继续下一步 如何将[yes]从我的程序传递给外部程序,而不是在命令行中键入[yes] 在命令行上提供“是”响应的经典方法是-y选项(通常带有平行-n选项以指示“否”-请参见fsck(1)) 也有理由认为,运行该程序应该是一种“是的,我的意思是这样”的操作。但是,有时指定“是,我真的想这么做”(例如一次性初始化DBMS实例)是有意义的。除非外部程序支持相应的标志(请参见@Jonathan Leffler的答案),否则您可
如何将[yes]从我的程序传递给外部程序,而不是在命令行中键入[yes] 在命令行上提供“是”响应的经典方法是
-y
选项(通常带有平行-n
选项以指示“否”-请参见fsck(1)
)
也有理由认为,运行该程序应该是一种“是的,我的意思是这样”的操作。但是,有时指定“是,我真的想这么做”(例如一次性初始化DBMS实例)是有意义的。除非外部程序支持相应的标志(请参见@Jonathan Leffler的答案),否则您可以控制该程序的源代码并添加它,您必须模拟“是”输入 选项:
- 尝试通过管道将助手应用程序的输出发送到它的stdin:
来启动外部程序yes | external_程序
是一个简单的工具,如果您没有它,它只是不断地将“y”写入其标准输出yes
- 手动将“是”写入外部程序的stdin