从头开始,我使用 ansible 在 linux 环境中打开一个 Jar 文件。
基本上我会这样做:java -jar someJarFile.jar,它会在命令行中打开。现在,它会提示我几个问题,这些问题可以通过多次点击 Return 来传递。最后,jar 将生成一个 WAR 文件...
这是我需要你帮助的地方。我想使用 ansible 调用一个期望脚本,以便它可以自动执行 jar 并连续按 enter,直到 jar 成功完成/安装。
从头开始,我使用 ansible 在 linux 环境中打开一个 Jar 文件。
基本上我会这样做:java -jar someJarFile.jar,它会在命令行中打开。现在,它会提示我几个问题,这些问题可以通过多次点击 Return 来传递。最后,jar 将生成一个 WAR 文件...
这是我需要你帮助的地方。我想使用 ansible 调用一个期望脚本,以便它可以自动执行 jar 并连续按 enter,直到 jar 成功完成/安装。
尝试
yes "" | java -jar someJarFile.jar
如果您知道需要按的次数,<Enter>
您可以使用echo -e '\n'
. 例如,如果您知道您将需要三个<Enter>
s:
echo -e '\n\n\n' | java -jar someJarFile.jar
当您需要输入yes
不允许的特定和不同的值时,这也很有帮助。例如,回答如下提示:
Enter value [default]: <enter>
Enter number: 30<enter>
Ok?: y<enter>
Do the dangerous: n<enter>
可以模拟
echo -e '\n30\ny\nn\n' | java -jar someJarFile.jar