El comando de lectura incorporado Bash no parece admitirlo, ahora necesito dejar que el usuario ingrese una contraseña mientras no se muestre ningún eco, ¿qué herramienta puedo usar?
El comando de lectura incorporado Bash no parece admitirlo, ahora necesito dejar que el usuario ingrese una contraseña mientras no se muestre ningún eco, ¿qué herramienta puedo usar?
Respuestas:
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
stty -echo
apaga el eco del terminal, que es la pantalla de la que estás hablando;IFS=
es necesario preservar espacios en blanco en la contraseña;read -r
desactiva la interpretación de la barra invertida.En bash
también se puede utilizar read -s
, pero esta función no es estándar a través de conchas.
help read|grep echo
: "-s
no hacer eco de entrada proveniente de una terminal"