Wie unterdrückt man jegliche Textusgabe beim Aufruf von 'read'? (auch die Leerzeile)

M

minipig

Doppel-As
Ich habe ein Bashscript zum Abfragen von Vokabeln geschrieben. Damit nach der Anzeige einer Vokabel nicht gleich die ihrer Übersetzung angezeigt wird, habe ich die Zeile
Code:
read char>/dev/null
eigefügt.
Aber jetzt erscheint:
Code:
||||| BLK#10 of 21
unaufhaltsam

inarrestabile
, wenn ich <Enter> drücke.
Ich hätte gern:
Code:
||||| BLK#10 of 21
unaufhaltsam
inarrestabile
Wie kann man 'read' dazu bewegen, meine Eingabe (die Enter-Taste) zu unterdrücken? Habe einen Mac OSX und damit keine GNU bash.
Oder gibt es einen anderen Befehl?

vielen Dank im Vorraus minipig?(?(?(
 
Zuletzt bearbeitet:
Nicht read, sondern Du erzeugst eine Leerzeile, wenn Du Enter drückst. Du kannst:
Code:
read -sn1
benutzen (in der Bash jedenfalls), dann reicht irgendeine Taste als Antwort und jedliche Ausgabe wird unterdrückt (also auch die Enter-Leerzeile).
 
Vielen Dank für die Antwort! Leider habe ich einen Mac und deshalb keine GNU-Shell und bei mir funktioniert es nicht. Habe meine Frage jetzt etwas modifiziert.
 
Zuletzt bearbeitet:
Code:
read -s char
täte es auch, aber das ist nur noch geraten, Mac sagt mir nichts. Was ergibt denn bei Dir:
Code:
echo $0
?
 
Sehr vielen Dank, 'read -s' unterdrückt die Leerzeile.
Und:
Code:
..> echo $0
-bash

by minipig
 
Zuletzt bearbeitet:
Zurück
Oben