Как использовать ожидаемый, чтобы выполнить банку и непрерывно нажать Enter? - PullRequest
0 голосов
/ 04 октября 2018

Для начала я использую ansible, чтобы открыть файл Jar в среде linux.

В основном я делаю: java -jar someJarFile.jar, и он открывается в командной строке.Теперь он предлагает мне несколько вопросов, которые можно пройти, нажав несколько раз Return.Наконец баночка выдаст файл WAR ...

Вот где мне нужна ваша помощь.Я хочу использовать ansible для вызова ожидаемого сценария, чтобы он мог автоматически выполнять jar и непрерывно нажимать ввод до тех пор, пока jar не будет успешно завершен / установлен.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Если вы знаете, сколько раз вам нужно нажать <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
0 голосов
/ 04 октября 2018

попробуй

yes "" | java -jar someJarFile.jar
...