我想在shell脚本中创建轮询:如何检测用户按ESC并在shell脚本中执行某些操作
echo“1 - 你叫什么名字?
读名
回声“你的名字是$名”
回声“2 - 什么是你的国家”
阅读国家
回声 “你的国家为$国”
...
...等等...
...
我想如果在一个问题的用户请按ESC键,取消质疑跳到下一个问题。
谢谢!我一直在等待可能的答案!
我想在shell脚本中创建轮询:如何检测用户按ESC并在shell脚本中执行某些操作
echo“1 - 你叫什么名字?
读名
回声“你的名字是$名”
回声“2 - 什么是你的国家”
阅读国家
回声 “你的国家为$国”
...
...等等...
...
我想如果在一个问题的用户请按ESC键,取消质疑跳到下一个问题。
谢谢!我一直在等待可能的答案!
这是怎么知道的,如果用户选择了逃避:
read -s -n1 key
case $key in
$'\e') echo "Escape";;
esac
这只适用于'bash'(并非所有的操作系统默认都使用'bash'作为'/ bin/sh')。 – chepner
如果你最终使用bash shell的,你可能会感兴趣的“陷阱”命令,它可以让你捕获并采取行动interupts(例如ctrl-C)
例如:http://kb.mit.edu/confluence/pages/viewpage.action?pageId=3907156
您正在使用哪个shell? –
我正在使用 #!/ bin/sh ... myscript ... – Manuel
查看此处http://stackoverflow.com/questions/5297638/bash-how-to-end-infinite-loop-with -any-key-pressed – Bart