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?


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.