Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 Java 程序,我想在 linux shell 脚本中调用它。Java 程序从命令行获取用户输入。
我在某处读到我可以使用 echo 来模仿用户输入,如下所示:
java myProgram echo 1000 echo
但是这对我不起作用,程序仍在等待用户输入。有什么我做错了吗?我无法想象这是一项艰巨的任务。
您可以使用echo, 但在管道中。
echo
echo 1000 | java myProgram
如果要发送文件,可以使用cat:
cat
cat file.txt | java myProgram
为什么不直接将值作为参数传递
java myProgram 1000
我认为你应该找到你的java进程的进程ID,然后写入它的/proc目录。
/proc
说Java进程的id是4321,然后输出到
4321
/proc/4321/fd/0