Перенаправить STDIN в Bash? - PullRequest
5 голосов
/ 14 июля 2010

Для примера я хотел бы войти в MySQL с паролем. я знаю, что могу использовать -pmypass, но я хочу узнать, как перенаправить стандартный ввод в bash. Итак, мой тест

mysql -u limited_user -p <text to redirect into stdin when it prompts for my pass>

Я видел <имя файла раньше, но я не хочу хранить данные в файле. Я пытался и и & - но не повезло. Я не уверен, что & - делает. </p>

Ответы [ 2 ]

11 голосов
/ 14 июля 2010
command <<< "input"

Это bashism, и решение echo чаще встречается в сценариях, хотя мое решение может быть более удобным в интерактивной оболочке (и я сомневаюсь, что любое из этих решений работает с mysql, но ваш вопрос более общий). *

3 голосов
/ 14 июля 2010

Обычно это просто:

echo password|command

Но многие программы, включая MySQL, которые читают пароли, на самом деле не читают из стандартного ввода.Скорее они взаимодействуют с терминалом напрямую.См. Обманите приложение, заставив его думать, что его стандартный интерфейс интерактивный, а не труба .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...