read text timeout

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Generic1
Beiträge: 78
Registriert: 15.11.2012 13:41:28

read text timeout

Beitrag von Generic1 » 21.03.2013 15:43:32

Hallo,

ich möchte beim Starten eines Shellscripts als aller erstes auf eine Eingabe des Users warten, z.B. 5sec, wenn dann nichts eingegeben wurde, dann soll der Programmablauf normal weiter gehen, ansonsten soll der Wert in eine Variable des Shellscripts übernommen werden.

Das hab ich momentan:

Code: Alles auswählen

echo -n "Eingeben"
read text
echo "Das ist der Text: $text"
Kann mir da jemand weiterhelfen.
Besten Dank!!
Generic1

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: read text timeout

Beitrag von Cae » 21.03.2013 17:11:55

Die Bash kann read -t {timeout}, wobei {timeout} eine Bruchzahl in Sekunden ist.

Versuche in der Form

Code: Alles auswählen

timeout --foreground 10 sh -c 'read msg; export msg'
haben den Schoenheitsfehler, dass ich $msg trotz export nicht in der umliegenden Shell sehe.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Antworten