Befehlszeilenprogramm zum Abrufen eines Kennworts, das kein Echo zurückgibt

14

Der in Bash integrierte Lesebefehl scheint dies nicht zu unterstützen. Jetzt muss der Benutzer ein Kennwort eingeben, während kein Echo angezeigt werden soll. Welches Tool kann ich verwenden?

Gänseblümchen
quelle
4
help read|grep echo: " -s
Kein
1
@donothingsuccessfully Diese -sErweiterung von readist kein Standard . Sie können es möglicherweise nicht unter Unix / Linux verwenden.
Totor

Antworten:

23
#!/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. Dies ist die Anzeige, über die Sie sprechen.
  • IFS= ist notwendig, um Leerzeichen im Passwort beizubehalten;
  • read -r Deaktiviert die Backslash-Interpretation.

In können bashSie auch verwenden read -s, aber diese Funktion ist nicht Standard für alle Shells.

Chris Down
quelle