0

我有一个 Java 程序,我想在 linux shell 脚本中调用它。Java 程序从命令行获取用户输入。

我在某处读到我可以使用 echo 来模仿用户输入,如下所示:

 java myProgram
 echo 1000
 echo

但是这对我不起作用,程序仍在等待用户输入。有什么我做错了吗?我无法想象这是一项艰巨的任务。

4

3 回答 3

2

您可以使用echo, 但在管道中。

echo 1000 | java myProgram

如果要发送文件,可以使用cat

cat file.txt | java myProgram
于 2013-09-08T17:51:52.443 回答
1

为什么不直接将值作为参数传递

java myProgram 1000
于 2013-09-08T17:52:41.757 回答
0

我认为你应该找到你的java进程的进程ID,然后写入它的/proc目录。

说Java进程的id是4321,然后输出到

/proc/4321/fd/0
于 2013-09-08T17:55:32.473 回答