Il comando di lettura integrata di Bash non sembra supportarlo, ora devo consentire all'utente di inserire una password mentre non deve essere visualizzato alcun eco, quale strumento posso usare?
Il comando di lettura integrata di Bash non sembra supportarlo, ora devo consentire all'utente di inserire una password mentre non deve essere visualizzato alcun eco, quale strumento posso usare?
Risposte:
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
stty -echo
disattiva l'eco del terminale, che è il display di cui stai parlando;IFS=
è necessario per preservare gli spazi bianchi nella password;read -r
disattiva l'interpretazione della barra rovesciata.In bash
puoi anche usare read -s
, ma questa funzionalità non è standard tra le shell.
help read|grep echo
: "-s
non fare eco all'input proveniente da un terminale"