Передача нескольких строк ввода stdin в интерактивную программу командной строки Java, неинтерактивно - PullRequest
1 голос
/ 12 апреля 2011

У меня есть Java-программа командной строки, которая принимает пароль и проверяет его с помощью стандартного ввода.К сожалению, модификация программы не является опцией, поскольку она является проприетарной.

Я не могу передать аргументы из командной строки Unix, используя <, поскольку в программе есть два запроса, оба запрашиваюттот же пароль.В командной строке есть операторы stdout, запрашивающие «Пароль» и «Пароль (проверка):».

Как передать пароль неинтерактивно этой программе, чтобы он мог автоматически выполняться с помощью cronработа / RC скрипт?

Спасибо!

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

Не уверен по вашему вопросу, если Ожидайте приемлемо или нет.

1 голос
/ 12 апреля 2011

Скорее всего, пароль вообще не читается из стандартного ввода, а из / dev / tty. В этом случае вам не повезло.

Можете ли вы запустить программу, подавая все вводные данные, включая пароли, через стандартный ввод? Если нет, то вам не повезло.

Однако, если это работает, вы можете сделать что-то вроде

(echo user; echo passwd1; echo passwd1; cat) | java -jar yourCommandlineprogram.jar 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...