如何检测用户何时按ESC并在shell脚本中执行某些操作

时间:2013-07-14 08:03:05

标签: shell

我想在shell脚本中创建一个民意调查:

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

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

我想如果用户在问题中按ESC键,请取消问题并跳转到下一个问题。

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

2 个答案:

答案 0 :(得分:6)

这是如何知道用户是否选择了转义:

read -s -n1  key

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

答案 1 :(得分:1)

如果您最终使用bash shell,您可能会对“trap”命令感兴趣,该命令允许您捕获并执行interupts(例如ctrl-C)

例如:http://kb.mit.edu/confluence/pages/viewpage.action?pageId=3907156