news 2026/6/10 16:07:40

17、高级 shell 编程全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
17、高级 shell 编程全解析

高级 shell 编程全解析

1. 信号的发送与捕获

在某些情形下,我们不希望误按ctrl - C就终止当前进程。例如,当执行一个会对文件进行重大修改的复杂脚本时,如果脚本执行到一半就因误按ctrl - C而终止,文件空间可能会陷入混乱。这时候就需要用到信号捕获机制。

信号捕获机制允许 shell 在接收到信号时执行我们指定的操作,而非执行默认操作。用于拦截信号的命令是trap,其使用方式如下:

trap ’action’ signal

其中,action可以为空或包含一个命令的字符串,signal是信号名称之一。

下面是一个示例脚本interrupts

trap ’echo Ouch’ INT echo Beginning sleep 10 echo ten seconds sleep 10 echo twenty seconds sleep 10 echo thirty seconds and ended

使用sh执行该脚本,在终端中多次按下ctrl - C,观察结果:

$ sh interrupts
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 16:17:37

3D打印效率革命:OrcaSlicer深度定制与性能优化实战指南

3D打印效率革命:OrcaSlicer深度定制与性能优化实战指南 【免费下载链接】OrcaSlicer G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.) 项目地址: https://gitcode.com/GitHub_Trending/orc/OrcaSlicer 你是否曾因切…

作者头像 李华
网站建设 2026/6/10 14:05:25

Peerflix终极评测:颠覆性Node.js流媒体播放神器深度解析

你是否厌倦了漫长的视频下载等待?是否曾因网络缓慢而无法流畅观看高清影片?是否希望在有限的存储空间下享受海量影视资源?Peerflix正是为解决这些痛点而生的革命性工具。这款基于Node.js的流媒体协议客户端通过点对点传输协议实现P2P流媒体传…

作者头像 李华
网站建设 2026/6/10 14:24:31

5分钟掌握Saliency:让你的AI模型“开口说话“的可视化神器

5分钟掌握Saliency:让你的AI模型"开口说话"的可视化神器 【免费下载链接】saliency Framework-agnostic implementation for state-of-the-art saliency methods (XRAI, BlurIG, SmoothGrad, and more). 项目地址: https://gitcode.com/gh_mirrors/sa/s…

作者头像 李华
网站建设 2026/6/10 16:24:25

运维系列【仅供参考】:windows自动更新变成了灰色,不能选择的原因

windows自动更新变成了灰色,不能选择的原因windows自动更新变成了灰色,不能选择的原因windows自动更新变成了灰色,不能选择的原因 现象: 发现我的电脑—属性—自动更新里面所有的按钮都已经是灰色的了, 而且每次开机都会自动运行自动更新,关闭进程也无…

作者头像 李华