Входное значение в программе Java из сценария оболочки - PullRequest
3 голосов
/ 18 октября 2011

Я хотел знать, есть ли способ, из сценария sh, ввести значение в программу Java.Например у меня есть program.jar.Я делаю java -jar program.jar, и он выводит:

Enter your name: 

Можно ли написать сценарий sh так:

java -jar program
echo name

, где name будет входдля программы?

Ответы [ 4 ]

5 голосов
/ 18 октября 2011

Для вывода данных в вашу Java-программу из оболочки выполните что-то вроде этого:

java -jar program<< EOF
<your-data>
EOF
2 голосов
/ 18 октября 2011

В дополнение к предложению @ tcb вы также можете использовать стандартный канал перенаправления ввода <, чтобы указать файл, который будет входом программы:

input.txt

name

А в sh:

java -jar program < input.txt

1 голос
/ 18 октября 2011

Если вы имеете в виду интерактивный ввод, ожидайте всегда один из ответов.

1 голос
/ 18 октября 2011

Использовать трубы:

echo name | java -jar program
...