因此,我在脚本中使用 coproc 命令来运行 java 程序并向其提供输入,如下所示:
#!/bin/bash
echo Script started.
coproc java -jar MultiThreadedFileProcessor.jar
echo start >&${COPROC[1]}
echo Script terminated.
我希望能够编写另一个脚本,该脚本可以将更多输入传递给该程序(例如,一个命令将告诉程序运行终止例程)。
有什么方法可以从另一个脚本访问协同进程的标准输入?我目前对终止脚本的尝试如下:
#!/bin/bash
echo Script started.
echo terminate >&${COPROC[1]}
echo close >&${COPROC[1]}
echo Script terminated.
但是,这给了我一个ambiguous redirect
错误,我猜是因为 COPROC[1] 仅在创建 coproc 的脚本中定义。
如果有的话,我还能如何编写一个脚本来实现将一行传递给 java 程序的目标?