news 2026/7/8 3:46:02

7、Linux 脚本编程:复合命令、调试与版本控制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
7、Linux 脚本编程:复合命令、调试与版本控制

Linux 脚本编程:复合命令、调试与版本控制

在 Linux 脚本编程中,除了最简单的脚本外,我们很少需要执行每一条命令。有时,执行一组命令而非另一组,或者多次重复一组命令会很有用。这就涉及到复合命令、命令状态码以及多种控制结构,同时还需要掌握调试和版本控制的方法。

复合命令与命令状态码

复合命令是包含一组其他命令的命令。为了提高可读性,被包含的命令通常会缩进,以表明它们的执行依赖于复合命令。复合命令通常由两个命令括起内部的命令,结束命令通常是第一个命令的反向拼写,例如esaccase复合命令的结束命令。

每个 Linux 命令都会返回一个状态码(或退出状态),这是一个 0 到 255 之间的数字,用于指示命令遇到的问题。状态码为 0 表示最后一个命令成功执行,其他状态码则表示某种错误。状态码存储在变量$?中。

$ unzip no_file.zip unzip: cannot find no_file.zip, no_file.zip.zip or no_file.zip.ZIP. $ printf "%d\n" "$?" 9

在这个例子中,unzip命令找不到要解压的文件时,返回的状态码是 9,表示出现错误。

Linux 非官方约定使用 127 及以下的代码作为标准错误代码。如果命令被信号中断,Bash 会返回 128 加上信号编号。因此,用户定义的错误代码应该高于 191。

需要注

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

Ridit检验 R代码实现

一、公式声明需要声明,这一实现使用的标准组的Ridit方差为贝塞尔校正版本,而卡方统计量的公式采用如下形式:——式子1其中:注意以下公式默认了有序评分对应的隐连续得分是服从均匀分布的,因此才将,然后把式…

作者头像 李华
网站建设 2026/7/6 13:37:36

基于SSM+Vue的个人理财系统的设计与实现

前言 本个人理财系统管理员功能有个人中心,用户管理,账单类型管理。用户功能有个人中心,收入账单管理,支出账单管理,理财计划管理,统计分析管理,备忘录管理等。因而具有一定的实用性。 本站是一…

作者头像 李华
网站建设 2026/7/6 21:03:48

赛马娘本地化补丁完整指南:5分钟实现游戏完美汉化

赛马娘本地化补丁完整指南:5分钟实现游戏完美汉化 【免费下载链接】umamusume-localify Localify "ウマ娘: Pretty Derby" DMM client 项目地址: https://gitcode.com/gh_mirrors/um/umamusume-localify 赛马娘本地化补丁是专为《赛马娘: Pretty D…

作者头像 李华
网站建设 2026/7/7 13:25:03

终极ComfyUI效率节点完整安装教程:5步实现AI绘画工作流革命

终极ComfyUI效率节点完整安装教程:5步实现AI绘画工作流革命 【免费下载链接】efficiency-nodes-comfyui A collection of ComfyUI custom nodes.- Awesome smart way to work with nodes! 项目地址: https://gitcode.com/gh_mirrors/eff/efficiency-nodes-comfyui…

作者头像 李华
网站建设 2026/7/8 3:36:39

【CMake 】CMake 中 add_executable 与 target_sources 详解

CMake 中 add_executable 与 target_sources 详解 📖 前言 在 CMake 构建系统中,add_executable 和 target_sources 是两个用于管理源文件的重要命令。理解它们的关系、区别和使用场景,对于编写高质量的 CMake 配置文件至关重要。本文将深入探…

作者头像 李华