命令行参数-bash交互式脚本传递输入



我正在运行以下交互式Jar。

java -jar script.jar
  argument-line-here
  n 

现在我正在创建一个运行jar文件的bash脚本。如何将参数行和构象"\n"传递到此交互式脚本?这些是脚本的输入行。

这个问题有一些答案,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"

如果您想重定向程序的正常标准输入,您可以使用所谓的"此处文档"(例如参见BASH手册页):

java -jar script.jar <<EOF
your input here
EOF

这意味着标准输入(也称为stdin)将被重定向,并且将是"此处文档"中的文本,在本例中为your input here

最新更新