Wie stimme ich Sterne (*) beim Lesen des Passwortes mit `read`?
Was muss ich tun für code in der Bash, wenn ich das möchte echo *
s statt Passwort-Zeichen (oder auch nur ausblenden, die Zeichen vollständig), wenn der Benutzer tippt etwas in mit read
?
InformationsquelleAutor der Frage Deniz Zoeteman | 2009-12-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Mark Rushakoff darauf hingewiesen,
read -s
unterdrückt das echo der eingegebenen Zeichen an der Eingabeaufforderung. Sie können Gebrauch machen von diesem feature als Teil dieses Skripts echo Sternchen für jedes Zeichen eingegeben:InformationsquelleAutor der Antwort Dennis Williamson
Ich wirklich gerne die Antwort, dass Wirone gab, aber ich wusste nicht wie, dass die Umsteuerung würde weiterhin das entfernen von Zeichen, die selbst wieder in die "Enter password:" - prompt.
Hatte ich auch einige Probleme, wo durch drücken der Tasten zu schnell würde dazu führen, dass einige der Zeichen, die tatsächlich auf dem Bildschirm ausgeben... nie eine gute Sache, wenn der Aufforderung ein Passwort einzugeben. =)
Das folgende ist meine modifizierte version von Wirone's Antwort, die diese Fragen behandelt werden:
InformationsquelleAutor der Antwort Logan VanCuren
read -s
sollte es in silent-Modus:Sehen die
read
Abschnitt inman bash
.InformationsquelleAutor der Antwort Mark Rushakoff
Ich weiß nicht, über die Sterne, aber stty -echo ist dein Freund:
Quelle: http://www.peterbe.com/plog/passwords-with-bash
InformationsquelleAutor der Antwort Vinko Vrsalovic
Möchte ich etwas hinzufügen, um Dennis Williamson's Lösung:
In obigem Beispiel-Skript behandelt backspace korrekt.
Quelle
InformationsquelleAutor der Antwort Wirone
wird stop Benutzer-Eingaben als echo auf dem Bildschirm für das Lesen. Je nachdem, wie Sie mit den Aufforderungen, Sie können hinzufügen, eine zusätzliche
echo
Befehl erzeugen Sie einen Zeilenumbruch nach dem Lesen.InformationsquelleAutor der Antwort moonshadow
Wenn Sie nicht kümmern, es wird interaktiv, Sie können einfach tun
Dies zeigt ein * für jedes Zeichen des eingegebenen Kennworts, nachdem die EINGABETASTE gedrückt wird.
InformationsquelleAutor der Antwort Dino Dini
Ich habe gerade dieses Bash-spezifische Funktion basiert auf Dennis Williamson's, Wirone's und Logan VanCuren's Antworten:
Könnte es verwendet werden, wie:
InformationsquelleAutor der Antwort nxnev
InformationsquelleAutor der Antwort 7in