Bash: Tastatureingabe nicht am Bildschirm anzeigen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Theophil T.
Beiträge: 402
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Bash: Tastatureingabe nicht am Bildschirm anzeigen

Beitrag von Theophil T. » 25.05.2008 18:47:59

Hallo,
in einem Shell-Skript soll ein Passwort (mit "read") eingelesen werden. Gibt es eine Möglichkeit, dass diese Eingabe nicht auf dem Bildschirm angezeigt wird, sonst aber alles weitere schon? Etwa so, wie bei der Login-Passwort-Eingabe oder bei "ssh".

Theophil

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Bash: Tastatureingabe nicht am Bildschirm anzeigen

Beitrag von heinz » 25.05.2008 19:02:49

Hallo,

das einzige was mir dazu einfällt ist das man vor dem "read" Befehl die Schriftfarbe auf
die Hintergrundfarbe setzen könnte.
Wer allerdings weis, das Du das so gemacht hast, könnte mit der Maus den Text markieren und so
das Passwort trotzdem lesen.
Du kannst allerdings direkt nach der Eingabe den Bildschirm löschen. Dann ist alles gut. 8)

gruß heinz

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Bash: Tastatureingabe nicht am Bildschirm anzeigen

Beitrag von finupsen » 25.05.2008 19:43:00

moin,

du könntest die eingaben einzeln einlesen und sofort wieder löschen:

Code: Alles auswählen

read -n1;echo -ne '\010'
ansonsten ist das paket "dialog" dein freund ;)
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Bash: Tastatureingabe nicht am Bildschirm anzeigen

Beitrag von Danielx » 25.05.2008 19:50:37

Zum Ausschalten der Ausgabe:

Code: Alles auswählen

stty -echo
Dann mit "read" das Passwort einlesen.

Und danach die Ausgabe wieder einschalten:

Code: Alles auswählen

stty echo
:-)

Gruß,
Daniel

Theophil T.
Beiträge: 402
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Bash: Tastatureingabe nicht am Bildschirm anzeigen

Beitrag von Theophil T. » 25.05.2008 20:00:21

War gerade dabei über

Code: Alles auswählen

read -n1;echo -ne '\010'
in den Bash- und echo-Man-Seiten nachzulesen und habe dann Daniels Vorschlag ausprobiert: Geht sehr gut, danke, auch an heinz und finupsen!

Theophil

Antworten