如何用expect执行一个jar然后连续回车?
How to use expect to execute a jar and continuously hit enter?
从头开始,我使用 ansible 在 linux 环境中打开一个 Jar 文件。
基本上我这样做:java -jar someJarFile.jar,它在命令行中打开。
现在,它会提示我几个问题,可以通过多次点击 Return 来通过。
最后,jar 将生成一个 WAR 文件...
这就是我需要你帮助的地方。
我想用ansible调用一个expect脚本,让它自动执行jar,不断回车,直到jar成功completed/installed。
尝试
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
从头开始,我使用 ansible 在 linux 环境中打开一个 Jar 文件。
基本上我这样做:java -jar someJarFile.jar,它在命令行中打开。 现在,它会提示我几个问题,可以通过多次点击 Return 来通过。 最后,jar 将生成一个 WAR 文件...
这就是我需要你帮助的地方。 我想用ansible调用一个expect脚本,让它自动执行jar,不断回车,直到jar成功completed/installed。
尝试
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