我有一个Java程序,我想在linux shell脚本中调用它。 Java程序从命令行获取用户输入。
我在某处读到了我可以使用echo来模仿用户输入,如下所示:
java myProgram
echo 1000
echo
但是这对我不起作用,程序仍在等待用户输入。有什么我做错了吗?我无法想象这是一项艰巨的任务。
答案 0 :(得分:2)
您可以使用echo
,但在管道中。
echo 1000 | java myProgram
如果要发送文件,可以使用cat
:
cat file.txt | java myProgram
答案 1 :(得分:1)
为什么不直接将值作为参数传递
java myProgram 1000
答案 2 :(得分:0)
我认为您应该找到java进程的进程ID,然后写入其/proc
目录。
假设Java进程的id为4321
,然后输出到
/proc/4321/fd/0