[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Skriptfrage: Benutzereingabe mit Timeout



Hi Mathias,

vielen Dank für Deine ausführliche Antwort.

Am 28.11.2013 07:25, schrieb Mathias Bauer:

> Vorsicht Bashismus! Die Option -t gibt es nur bei read in der
> bash.  Falls /bin/sh -> dash muss die shebang-Zeile #!/bin/bash
> lauten.  Wenn du das Skript portabel halten willst, gibt es
> andernfalls nur die Alternative auf den Countdown ganz zu
> verzichten.  Da read ein internes Kommando ist, kann man es auch
> nicht mit timelimit beenden.  Aber wahrscheinlich weißt du das
> sowieso.

Ja, das mit der Bash ist in der Tat der Fall. Allerdings haben wir im aktuellen Projekt nur lauter einheitliche Maschinen mit bash als Standardshell. Und wenn wir das ganze Skripting jemals woanders hin transferieren, dann stellen sich sowieso allerlei Fragen.


> Eine einfache Lösung sehe ich nicht.  Sollte das Skript im
> Sekundentakt zählen und der Benutzer seine Eingabe nicht
> innerhalb einer Sekunde komplett eingegeben haben, müsste das
> Skript wegen b) auch noch mit Teileingaben umgehen können
> (vgl. read -e der bash).  Je mehr ich über die Details einer
> bloßen Shell-Lösung nachdenke, desto größer wird der Albtraum.

Da ich im Grunde nur Ja oder Nein brauche, ist der Albtraum nicht ganz so groß. Aber Du hast schon recht, das ist einiges an Code für wenig Effekt. Allerdings sind die Auswirkungen der Entscheidung recht gravierend, und ich würde dem Nutzer gern vor Augen führen, daß er gefälligst nachdenken soll, bevor was ungewolltes passiert. Dafür wäre es halt schön zu haben.
Ich denk, ich schreibe das mit dem Timeout einfach in rot auf den Screen, und dann schaue ich mal, obs verstanden wird.


> Möglicherweise lässt sich mit dialog etwas basteln, was deinen
> Anforderungen näher kommt, wobei auch hier die parallele
> Ausführung und v. a. die Darstellung das Problem sein wird:
> 
>     dialog --gauge ...
>     dialog --timeout 10 --inputbox ...

dialog gibts bei mir gar nicht.... OK, leicht gefunden. Hey, das ist gar nicht so schlecht, weil es sich schon rein grafisch stark vom sonstigen Stil abhebt, und damit signalisiert: Vorsicht, jetzt gehts um was.

Danke für den Tip!


-- 
Andre Tann


Reply to: