
Tengo un zsh
script que solicita la entrada del teclado:
read -rs 'pw?Password: '
Este script también necesita leer el contenido de un archivo desde stdin. Pero el read
comando toma la primera línea de stdin y la usa como entrada para la contraseña:
myscript <<< 'line1\nline2' # pw == 'line1'
¿Alguna forma de solucionar esto? Preferiría una solución zsh
o bash
, aunque también estoy abierto a otras.
(FWIW, gpg2
hace esto, así que sé que es posible... pero no sé cómo).
Respuesta1
Siempre se puede acceder al terminal a través de /dev/tty
, independientemente de desde dónde se haya redirigido la entrada estándar.
read -rs 'pw?Password: ' </dev/tty