← retour aux snippets

stty: lire une saisie sans echo (mot de passe)

Désactiver l'echo, lire une valeur, puis restaurer le TTY proprement.

bash process #stty#tty#input

objectif

Demander un secret dans un script sans l’afficher.

code minimal

printf "Mot de passe: " ; stty -echo ; read -r PW ; stty echo ; printf "\n"

utilisation

# utiliser la variable ensuite
echo "longueur: ${#PW}"
unset PW

variante(s) utile(s)

# mode raw pour capter une seule touche
stty -icanon -echo min 1 time 0; dd bs=1 count=1 2>/dev/null; stty sane

notes

  • restaurez toujours le TTY (stty sane) en cas d’erreur.
  • évitez d’exporter des secrets dans l’environnement.