linux – 在bash中捕获键盘中断
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 在bash中捕获键盘中断,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含864字,纯文字阅读大概需要2分钟。
内容图文
![linux – 在bash中捕获键盘中断](/upload/InfoBanner/zyjiaocheng/954/942e4065680c48f797703e762dffd1bb.jpg)
我在bash中有一个捕获键盘中断的函数.该函数如下所示:
user_interrupt(){
echo -e "\n\nKeyboard Interrupt detected."
sleep 2
echo -e "\n Cleaning up..."
rm -rf /usr/local/src/mysources
}
现在,在同一个脚本中,我有另一个名为install()的函数,它使用标准的./configure,make,make install进程从源代码中依次安装一些软件包.我们的想法是在一个接一个地运行3个安装时捕获用户中断.问题是,我在哪里发表以下声明:
trap user_interrupt SIGINT
trap user_interrupt SIGTSTP
那么我应该将它作为install()函数中的第一个语句吗?或者我是否需要if-else条件?
解决方法:
我想你想在检测到用户中断后退出(当然在完成清理行为之后).如果是这样,你需要在函数中的rm -rf …行之后退出.除非你这样做,否则trap会捕获信号SIGINT,例如,在user_interrupt函数中执行任务,脚本将继续执行.
要回答另一个问题,只需在脚本顶部定义您提到的函数,然后定义两个陷阱命令,然后定义剩余的代码(install()函数等).陷阱会捕获所提到的信号,你不需要任何明确的处理.
内容总结
以上是互联网集市为您收集整理的linux – 在bash中捕获键盘中断全部内容,希望文章能够帮你解决linux – 在bash中捕获键盘中断所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。