O terminal está sempre acessível através de /dev/tty
, independentemente de onde a entrada padrão foi redirecionada.
read -rs 'pw?Password: ' </dev/tty
Eu tenho um script zsh
que solicita a entrada do teclado:
read -rs 'pw?Password: '
Este script também precisa ler o conteúdo de um arquivo de stdin. Mas o comando read
pega a primeira linha de stdin e a usa como entrada para a senha:
myscript <<< 'line1\nline2' # pw == 'line1'
Qualquer maneira de contornar isso? Eu preferiria uma solução zsh
ou bash
, embora eu também esteja aberto aos outros.
(FWIW, gpg2
faz isso, então eu sei que é possível ... só não sei como).