
Eu tenho um zsh
script que solicita entrada no teclado:
read -rs 'pw?Password: '
Este script também precisa ler o conteúdo de um arquivo stdin. Mas o read
comando pega a primeira linha do stdin e a usa como entrada para a senha:
myscript <<< 'line1\nline2' # pw == 'line1'
Alguma forma de contornar isso? Eu preferiria uma solução zsh
ou bash
, embora também esteja aberto a outras pessoas.
(FWIW, gpg2
faz isso, então eu sei que é possível... só não sei como.)
Responder1
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