2013-07-14 44 views
5

我想在shell脚本中创建轮询:如何检测用户按ESC并在shell脚本中执行某些操作

echo“1 - 你叫什么名字?
读名
回声“你的名字是$名”

回声“2 - 什么是你的国家”
阅读国家
回声 “你的国家为$国”
...
...等等...
...

我想如果在一个问题的用户请按ESC键,取消质疑跳到下一个问题。

谢谢!我一直在等待可能的答案!

+1

您正在使用哪个shell? –

+0

我正在使用 #!/ bin/sh ... myscript ... – Manuel

+1

查看此处http://stackoverflow.com/questions/5297638/bash-how-to-end-infinite-loop-with -any-key-pressed – Bart

回答

4

这是怎么知道的,如果用户选择了逃避:

read -s -n1 key 

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

这只适用于'bash'(并非所有的操作系​​统默认都使用'bash'作为'/ bin/sh')。 – chepner

相关问题