2013-07-14 5 views
5

ich eine Umfrage in einem Shell-Skript erstellt werden soll:Wie, wenn der Benutzer ESC drücken und etwas tun, in Shell-Skript erkennen

echo „1 - Was ist Ihr Name?“
lesen Name
echo "Ihr Name ist $ name"

echo "2 - Was ist Ihr Land"
lesen Land
echo "Ihr Land ist $ country"
...
... etc ...
...

Ich möchte, wenn der Benutzer drücken Sie ESC in einer Frage, brechen die Frage einen Sprung zur nächsten Frage.

Danke! Ich warte auf mögliche Antworten!

+1

Welche Shell arbeiten Sie mit? –

+0

Ich benutze #!/Bin/sh ... meinskript ... – Manuel

+1

Werfen Sie einen Blick hier http://stackoverflow.com/questions/5297638/bash-how-to-end-infinite-loop-with -any-key-pressed – Bart

Antwort

4

das ist, wie wenn der Benutzer ausgewählt Flucht wissen:

read -s -n1 key 

case $key in 
    $'\e') echo "Escape";; 
esac 
+0

Dies funktioniert nur in 'bash' (nicht alle Betriebssysteme verwenden standardmäßig' bash' für '/ bin/sh'). – chepner

Verwandte Themen