für eine Lösung, die ohne Bash oder bestimmte Features von read
funktioniert Sie können stty
verwenden Echo deaktivieren
stty_orig=$(stty -g)
stty -echo
read password
stty $stty_orig
Geben Sie einfach -s an Ihren Leseaufruf wie folgt an:
$ read -s PASSWORD
$ echo $PASSWORD
Aktualisieren
Falls Sie sich etwas einfallen lassen möchten, indem Sie einen *
ausgeben Für jedes eingegebene Zeichen können Sie so etwas tun (mit andreas' read -s
Lösung):
unset password;
while IFS= read -r -s -n1 pass; do
if [[ -z $pass ]]; then
echo
break
else
echo -n '*'
password+=$pass
fi
done
Ohne schick zu sein
echo "Please enter your username";
read username;
echo "Please enter your password";
stty -echo
read password;
stty echo