【发布时间】:2015-06-23 16:45:49
【问题描述】:
我正在运行以下交互式 Jar。
java -jar script.jar
argument-line-here
\n
现在我正在创建一个运行 jar 文件的 bash 脚本。 如何将参数行和构造“\n”传递给这个交互式脚本?这些是脚本的输入行。
This question 有一些答案,expect 尚未安装在我的系统上,我没有 sudo。
edit:.jar 也不返回任何文本。它只需要 2 行。 (一个带有参数,一个带有构象进入)。 我也无法编辑 Java 应用程序。这不是我的剧本。如果可以,我会的。
我尝试过但没有成功的方法。
java -jar myscript.jar
<<< &"argument1 argument2 argument3 argument4" <<< $"\n"
和
java -jar java -jar myscript.jar > tmp.txt
expect ""
send "argument1 argument2 argument3 argument4"
expect ""
send "\n"
【问题讨论】:
-
事情就是这样。我无法编辑此 Java 应用程序的源代码。我只拿到了罐子。
-
链接副本中的答案告诉您(您确实读过它吗?)是您只需照常传递参数,就像任何其他命令一样。
-
是的,我试过了。
java -jar myscript.jar argument1 argument2 argument3 argument4(最后也可以带和不带 \n。但结果是一样的。应用程序仍在等待输入 -
啊,那么您的问题不是关于“参数”,而是关于正常输入。我会发布一个答案。
-
你说得有道理,参数这个词在这里有点混乱。将编辑问题
标签: bash command-line-arguments