Hallo, On Wednesday, 4. July 2001 17:56, Jan Trippler wrote: [...]
Ich denke, dass Stephan folgenden Effekt meinte (das ist eher der Buffer von stdin, nicht der der Tastatur):
Starte folgendes Script: <schnipp> #! /bin/bash
sleep 10
echo -n "Eingabe: " read inp echo $inp
exit 0 <schnapp>
und gib in den ersten 10 Sekunden nach dem Start willkürlich auf der Tastatur was ein. Du wirst das Ergebnis in $inp sehen. Wenn
genau das meine ich. Mit den mir bekannten Bordmitteln habe ich keine Lösung gefunden, daher war meine Hoffnung, dass jemand eine Idee für einen "dirty workaround" hat.
Du den hier schon genannten Tipp mit read -e anwendest, dann stehen die inzwischen eingegebenen Zeichen auch da und können wenigstens noch editiert werden.
Das "-e" steht schon drin, ich habe es der Einfachheit halber nicht mit in das hier gepostete "Skript-Gerüst" übernommen.
In C gibt es zu diesem Zweck die Funktion fflush (), mit der man Buffer geöffneter Dateien leeren kann - das wirkt auch mit stdin.
Oh, das klingt gut. Und meinen noch rudimentären C-Kenntnissen wird das auch nicht schaden. *g*
Ich weiss nicht, ob man evtl. über stty das Verhalten von stdin beeinflussen kann - man kann die im Buffer liegenden Zeichen ja im Normalfall nicht abholen, weil sie erst mit einem Return zur Verfügung stehen.
Das sehe ich genauso. Allen Antwortern vielen Dank für die investierte Zeit. Ich werde es mit der von Jan vorgeschlagenen C-Funktion versuchen. Stephan -- Stephan Hakuli | mailto: stephan@hakuli.de | * GnuPG/PGP-Key * | callto: 01 71 - 651 89 43 | available, please | surfto: http://www.hakuli.de | visit my homepage