Der integrierte Lesebefehl von Bash scheint dies nicht zu unterstützen. Jetzt muss ich den Benutzer ein Passwort eingeben lassen, während kein Echo angezeigt werden sollte. Welches Tool kann ich verwenden?
Akzeptierte Antwort:
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
stty -echo
schaltet das Terminal-Echo aus, das ist die Anzeige, von der Sie sprechen;IFS=
ist notwendig, um Leerzeichen im Passwort zu erhalten;read -r
schaltet die Backslash-Interpretation aus.
In bash
Sie können auch read -s
verwenden , aber diese Funktion ist kein Shell-übergreifender Standard.