GNU/Linux >> Tutoriales Linux >  >> Linux

Ocultar la entrada del usuario en la terminal en el script de Linux

para una solución que funciona sin bash o ciertas características de read puedes usar stty para deshabilitar el eco

stty_orig=$(stty -g)
stty -echo
read password
stty $stty_orig

Simplemente proporcione -s a su llamada de lectura así:

$ read -s PASSWORD
$ echo $PASSWORD

Actualizar

En caso de que quiera volverse elegante, emita un * para cada carácter que escriben, puedes hacer algo como esto (usando el read -s de andreas solución):

unset password;
while IFS= read -r -s -n1 pass; do
  if [[ -z $pass ]]; then
     echo
     break
  else
     echo -n '*'
     password+=$pass
  fi
done

Sin ser fantasioso

echo "Please enter your username";
read username;

echo "Please enter your password";
stty -echo
read password;
stty echo

Linux
  1. Linux su comando

  2. ¿Cómo solicito la entrada Sí/No/Cancelar en un script de shell de Linux?

  3. Leer línea por línea en bash script

  4. ¿Cómo salir de la terminal de Linux usando el script de Python?

  5. ¿Cómo omitir las interacciones del usuario en un script?

Comando de identificación en Linux

5 ejemplos prácticos del comando de lectura en Linux

Bash Script - Cómo leer la entrada del usuario

Linux bash:Asignación de múltiples variables

enviar correo desde la terminal de linux en una línea

Contraseña de pánico en Linux