c't 12/11
read, um das Skript am Ende erst nach der Eingabe eines Zeichens zu beenden. Ich hätte jedoch gern, dass das Skript sich nach einigen Sekunden selbst beendet – so wie das unter Windows etwa der Befehl choice mit dem Parameter /T erledigt. Gibt es dafür eine einfache Lösung?read mit dem Parameter -t SEKUNDEN ergänzen, beendet sich die Eingabe nach der angegebenen Zeit automatisch und zwar mit einem Fehler:read -t 10 TEST ; [ ! -z "$TEST" ] && echo $TEST ||
echo "Zeit abgelaufen!"
read zehn Sekunden auf eine Eingabe und schreibt diese gegebenenfalls in die Variable $TEST. Die verkürzt aufgeschriebene Abfrage [ ! -z „$TEST“ ] hinter dem Semikolon überprüft, ob $TEST einen Wert enthält, und gibt diesen via echo-Befehl aus. Sollte die Abfrage scheitern, schreibt der letzte Teil (hinter den beiden || ) den Text „Zeit abgelaufen!“ auf die Textkonsole.
(rek)Version zum Drucken | Per E-Mail versenden | Heft bestellen
Permalink: http://heise.de/-1243224
Das aktuelle Heft ist jetzt im Handel erhältlich.
Ältere Artikel können Sie über unser Zeitschriften-Archiv bestellen.