2016-04-24 58 views
0

我有一个程序,当它运行时,我想让用户能够执行一个动作,例如按ctrl + x退出程序。在脚本中实现快捷键

这将是伟大的,如果有人可以帮助,似乎无法找到正确的语法在线。

回声“非常感谢”

+0

'Ctrl-C'已经发送了'SIGINT'就是你在说什么? – andlrc

+0

你可以用'stty'来改变按键设置,但它会让每个人都感到困惑。 – cdarke

回答

0

您可以捕获键盘中断SIGINT按Ctrl + C的东西产生这样的:

#!/bin/bash 

tidy_close() { 
    echo "Ending gracefully, stage $1" 
    exit 0 
} 

trap 'tidy_close $stage' INT 

while : 
do 
    ((stage++)) 
    echo "Pondering the answers" 
    sleep 2 
done 

函数可以有任何代码,你需要关机。 stage变量只是为了说明如何传递一个值,如果你需要的话。