GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ausblenden von Benutzereingaben auf dem Terminal im Linux-Skript

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

Linux
  1. Linux-su-Befehl

  2. Wie fordere ich die Eingabe Ja/Nein/Abbrechen in einem Linux-Shell-Skript auf?

  3. Linux bash:Mehrfache Variablenzuweisung

  4. Zeile für Zeile im Bash-Skript lesen

  5. E-Mail vom Linux-Terminal in einer Zeile senden

Weisen Sie einem Benutzer Lese-/Schreibzugriff auf ein bestimmtes Verzeichnis in Linux zu

ID-Befehl unter Linux

Wie füge ich einen Unix/Linux-Benutzer in einem Bash-Skript hinzu?

Wie führe ich einen Befehl vor der Benutzeranmeldung unter Linux aus?

Skript erneut ausführen lassen, wenn Eingabe ja ist?

5 praktische Beispiele für den Read-Befehl unter Linux