Как запросить пользовательский ввод, когда приложение GO находится в конвейере - PullRequest
0 голосов
/ 29 марта 2019

Мое приложение GO должно получать входные данные из конвейера и в то же время запрашивать пароль у пользователя. Поскольку я не люблю устанавливать пароль в параметре команды, я хотел бы реализовать его в точности так, как это делает sudo команда.

Если я попытаюсь прочитать со стандартного ввода, я получу вывод последней команды в качестве пароля (очевидно). Я также пытался использовать эту библиотеку https://github.com/howeyc/gopass, но она читает только из стандартного ввода.

Есть ли способ сделать это в GO?

1 Ответ

0 голосов
/ 29 марта 2019

Вы не можете, и это не имеет ничего общего с го.Когда вы передаете по каналу программу, вы направляете стандартный вывод одной программы на стандартный ввод этой программы вместо tty (к которому обычно присоединяется стандартный ввод).Программа получает только один стандартный ввод, поэтому вы не можете одновременно получать входные данные от выхода другой программы, и получать входные данные от tty пользователя.

...