news 2026/7/10 18:14:21

Linux Shell 编程基础 —— 结构化命令 课堂笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux Shell 编程基础 —— 结构化命令 课堂笔记

Linux & Shell 编程基础 —— 结构化命令 课堂笔记

一、if-then 系列语句
1. 基础 if
语法:if 命令; then 指令; fi
逻辑:if 后命令退出码 0(执行成功),执行 then 代码;非 0 则跳过。
简写:if 命令; then 指令 fi
2. if-then-else
一条成立执行 then,不成立执行 else 分支。
3. 嵌套 if /elif(多分支)
嵌套 if:else 内部再写 if
elif:连续多条件判断,替代多层嵌套
语法:
bash
运行
if 条件1; then
指令1
elif 条件2; then
指令2
fi

二、test 条件测试([ ]等价 test)
格式:if [ 条件 ]; then 指令 fi
方括号前后必须加空格
三类测试:
数值比较(仅支持整数)
-eq相等、-gt大于、-lt小于等
字符串比较
=相等、!=不等、-n非空、-z空串;>/<需转义
文件目录测试
-d是目录、-e文件存在、-w可写、-x可执行


三、复合条件测试
&& 逻辑与:两个条件同时成立
|| 逻辑或:任意一个成立
示例:if [ -d $dir ] && [ -w file ]; then


四、双方括号 / 双括号高级语法
(( )) 双括号:高级数学运算(平方、自增、位移等,不用转义大于号)
[[ ]] 双方括号:字符串模式匹配(通配符*)


五、case 多分支匹配
语法
bash
运行
case 变量 in
模式1|模式2) 指令;;
模式3) 指令;;
*) 默认指令;;
esac
竖线|代表或;;;分隔分支;*)匹配所有其他情况

核心知识点总结
if 依靠命令退出码判断真假,test/[]实现数值 / 字符串 / 文件判断
多分支:少条件用 elif,单一变量多匹配用 case 更简洁
(( ))处理数学运算,[[ ]]做字符串模糊匹配
文件测试、逻辑与 / 或可组合复杂判断逻辑

练习1

练习2

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

Eagleye与ROS集成实战:构建实时车辆定位系统完整流程

Eagleye与ROS集成实战&#xff1a;构建实时车辆定位系统完整流程 【免费下载链接】eagleye Precise localization based on GNSS and IMU. 项目地址: https://gitcode.com/gh_mirrors/ea/eagleye 想要构建一个高精度的实时车辆定位系统吗&#xff1f;Eagleye与ROS集成提…

作者头像 李华
网站建设 2026/7/10 18:12:50

SwiftTrace面向切面编程:为非final类添加方法前后钩子

SwiftTrace面向切面编程&#xff1a;为非final类添加方法前后钩子 【免费下载链接】SwiftTrace Trace Swift and Objective-C method invocations 项目地址: https://gitcode.com/gh_mirrors/sw/SwiftTrace SwiftTrace是一个强大的Swift和Objective-C方法调用追踪工具&a…

作者头像 李华
网站建设 2026/7/10 18:12:27

Fast-Ansible性能优化:10个大规模服务器集群配置管理技巧

Fast-Ansible性能优化&#xff1a;10个大规模服务器集群配置管理技巧 【免费下载链接】Fast-Ansible This repo covers Ansible with LABs: Multipass, Commands, Modules, Playbooks, Tags, Managing Files and Servers, Users, Roles, Handlers, Host Variables, Templates a…

作者头像 李华
网站建设 2026/7/10 18:12:16

Shift高级配置:定制化你的MySQL数据库迁移工作流

Shift高级配置&#xff1a;定制化你的MySQL数据库迁移工作流 【免费下载链接】shift shift is an application that helps you run schema migrations on MySQL databases 项目地址: https://gitcode.com/gh_mirrors/sh/shift Shift是一个强大的MySQL数据库在线模式迁移…

作者头像 李华
网站建设 2026/7/10 18:12:11

STM32F207ZG与A3910电机驱动方案详解

1. 项目概述&#xff1a;A3910与STM32F207ZG的黄金组合在嵌入式控制领域&#xff0c;电机驱动与主控MCU的协同工作一直是工程师们面临的核心挑战。A3910作为一款高性能电机驱动芯片&#xff0c;与基于Arm Cortex-M3内核的STM32F207ZG微控制器搭配&#xff0c;能够构建出响应迅速…

作者头像 李华
网站建设 2026/7/10 18:11:43

图片格式之JPEG介绍

JPEG&#xff08;Joint Photographic Experts Group&#xff09;是一种广泛使用的有损图像压缩格式。一、文件结构总览JPEG 文件以 SOI&#xff08;Start of Image&#xff09; 标记开始&#xff0c;以 EOI&#xff08;End of Image&#xff09; 标记结束。中间由一系列标记段&…

作者头像 李华