【Linux Shell】超全Bash条件语句详解(if/elif/test/[]/[[]]/(()))实操教程
一、前言在Linux Shell脚本编写中结构化条件语句是自动化脚本的核心基础所有逻辑判断都依赖条件语句实现。本文将从零梳理Bash全套条件判断体系包含if基础分支语句、test测试命令、单方括号[]、双方括号[[]]、双括号(())所有知识点搭配Xshell真实实操命令、参数详解、运行结果搭建完整可落地的Shell条件判断知识框架适合新手入门与查漏补缺可直接收藏复用。二、整体知识框架体系核心思维导图Bash结构化条件命令分为四大模块层级与用途明确是本文核心知识框架基础分支结构if-then、if-then-else、elif多分支语句实现逻辑分支判断基础测试命令test命令原生实现数值、字符串、文件状态测试等价简写语法单方括号[ ]test命令同义简写日常基础判断首选高级判断语法双方括号[[ ]]高级字符串/正则匹配、双括号(( ))专属算术运算判断三、基础if结构化语句实操详解1、if-then 最基础语句1概念原理Bash中if语句的判断逻辑基于命令退出状态码状态码为0命令执行成功/条件成立执行then后的代码状态码非0失败/条件不成立跳过执行。是所有结构化命令的基础。2标准语法if 条件/命令 then 执行语句 fi # 结束if语句必须成对3Xshell实操命令直接在终端逐行执行或编写脚本运行以下为终端交互式实操pwd if pwd; then echo 命令执行成功路径打印完成; fi4预期结果终端先打印当前工作路径随后输出命令执行成功路径打印完成2、if-then-else 双分支语句1概念用途解决二选一逻辑条件成立执行then条件不成立执行else弥补单if语句无法处理否定逻辑的缺陷。2标准语法if 条件 then 条件成立执行 else 条件不成立执行 fi3Xshell实操命令num5 if [ $num -gt 10 ]; then echo 数值大于10 else echo 数值小于等于10 fi4预期结果输出数值小于等于103、elif 多分支串联语句1概念用途实现多条件优先级判断无需嵌套多层if从上到下依次匹配条件匹配成功立即执行对应分支并结束判断最后else为默认兜底分支。2标准语法if 条件1 then 语句1 elif 条件2 then 语句2 elif 条件3 then 语句3 else 默认语句 fi3Xshell实操命令score85 if [ $score -ge 90 ]; then echo 成绩优秀 elif [ $score -ge 80 ]; then echo 成绩良好 elif [ $score -ge 60 ]; then echo 成绩及格 else echo 成绩不及格 fi4预期结果输出成绩良好四、test 测试命令原生条件测试1、概念与用途test是Bash内置原生测试命令专门用于检测数值、字符串、文件/目录状态无输出结果仅通过退出状态码判断条件真假是所有条件测试的底层命令。2、核心参数大全重点1数值比较参数-eq等于equal-ne不等于not equal-gt大于greater than-lt小于less than-ge大于等于-le小于等于2字符串测试参数-z 字符串字符串为空则为真-n 字符串字符串非空则为真str1 str2字符串相等str1 ! str2字符串不相等3文件/目录测试参数-e文件/目录是否存在-d是否为目录-f是否为普通文件-r是否可读-w是否可写-x是否可执行3、Xshell实操示例# 1.数值测试 test 10 -gt 5 echo 10大于5 # 2.字符串测试 test -z echo 字符串为空 # 3.目录测试 test -d /home echo /home目录存在实操结果依次输出10大于5、字符串为空、/home目录存在五、单方括号 [ ] test同义简写1、核心概念[ ]是test命令的同义特殊Bash命令功能与test完全一致语法更简洁是日常脚本最常用的基础判断写法。强制语法规则括号内侧必须保留空格否则报错例[ 1 -eq 1 ]正确[1-eq1]错误。2、Xshell实操覆盖三类测试# 1.数值判断 if [ 20 -ge 18 ]; then echo 数值达标; fi # 2.字符串判断 strcsdn if [ $str csdn ]; then echo 字符串匹配成功; fi # 3.文件判断 if [ -f /etc/passwd ]; then echo passwd文件存在; fi实操结果依次输出数值达标、字符串匹配成功、passwd文件存在六、高级判断双方括号 [[ ]] 双括号 (( ))1、双方括号 [[ ]] 高级字符串/逻辑判断1用途与优势是Bash专属高级语法弥补[ ]的缺陷支持字符串模式匹配、正则匹配、直接使用||逻辑运算符变量带空格不会报错安全性更高。2实操命令# 通配符模式匹配 namebash_test if [[ $name bash* ]]; then echo 字符串以bash开头; fi # 多逻辑判断 num15 if [[ $num -gt 10 $num -lt 20 ]]; then echo 数值在10-20之间; fi实操结果输出字符串以bash开头、数值在10-20之间2、双括号 (( )) 专属算术判断/运算1用途与优势专门用于整数算术运算与数值判断无需使用-gt/-lt/-eq等test参数直接使用数学符号、、、、-语法更贴合数学逻辑仅支持整数。2实操命令a30 b20 # 数值比较 if (( a b )); then echo a大于b; fi # 算术运算判断 if (( a b 40 )); then echo 两数之和大于40; fi实操结果输出a大于b、两数之和大于40七、核心语法对比总结面试/实操必备语法核心用途特点test基础数值、字符串、文件测试原生命令无直接输出兼容性最强[ ]test简写日常基础判断必须带空格语法简洁通用场景首选[[ ]]高级字符串、正则、逻辑判断支持通配符/正则容错性高(( ))整数算术运算、数值比较支持数学符号仅用于数值计算判断八、总结1、Bash基础结构化分支if-then为基础if-else实现二分支elif实现多分支优先级判断2、test与[ ]功能等价适配所有基础的数值、字符串、文件状态检测是脚本通用判断方式3、高级语法中[[ ]]专攻字符串与正则匹配(( ))专攻整数算术判断各司其职4、日常开发选型基础判断用[ ]字符串/正则用[[ ]]数值运算用(( ))。本文已覆盖Bash条件语句全部基础知识点全程真机实操可复现适合入门学习与技术复盘建议收藏

相关新闻

人类意识中心主义与宏大意识

人类意识中心主义与宏大意识

人类认知的傲慢在于使用为生存进化高度塑造出来的意识来描述和理解世界,于是就形成了“意识中心主义”的泡沫。对于认识具有超高时间跨度因果性的宏大意识,我们必须暂时悬置“意识人类内省体验”的狭隘定义,转向系统论和主动推理的视角。结论…

2026/7/17 20:24:29阅读更多 →
20K+ Star 开源神器!一款可自托管的书签管理工具!

20K+ Star 开源神器!一款可自托管的书签管理工具!

大家好,我是 Java陈序员。 在信息爆炸的时代,我们收藏了越来越多的链接内容,往往都是在收藏夹里吃灰,很少真正整理和利用。 今天,给大家介绍一款自托管的书签管理工具,帮助你一站式管理书签、笔记、图片&…

2026/7/17 20:24:29阅读更多 →
爱芯派Pro开发板与ffmpeg硬件编解码实战指南

爱芯派Pro开发板与ffmpeg硬件编解码实战指南

1. 爱芯派 Pro 开发板与ffmpeg的硬编硬解能力初探爱芯派 Pro 开发板作为一款面向多媒体处理的高性能嵌入式平台,其搭载的专用视频处理单元(Video Processing Unit, VPU)为视频编解码提供了硬件加速能力。在实际开发中,ffmpeg作为最流行的多媒体框架之一&…

2026/7/17 20:24:29阅读更多 →
视频长文1

视频长文1

这3个自媒体必备skill,让AI写出真人感!!AI写东西,快。但AI味的内容,观众划走也快。就让我很纠结,不用AI吧,它干活实在是太香了,用AI吧,内容越来越难留住观众。我就在思考…

2026/7/18 0:10:15阅读更多 →
怎么样让AI写出来的东西没有AI味?这3个工具帮你一键去味

怎么样让AI写出来的东西没有AI味?这3个工具帮你一键去味

怎么样让AI写出来的东西没有AI味?如果你还在靠用提示词给文章降AI味,那你可能还停留在写作的1.0阶段。这篇文章给大家分享几个自媒体博主都在用的工具,不用反复去对话去调试,帮你高效完成去AI味的一整套流程。第一个,h…

2026/7/18 0:10:15阅读更多 →
Meta撤回Muse Image功能 隐私争议迫使AI工具下线

Meta撤回Muse Image功能 隐私争议迫使AI工具下线

Meta于2026年7月上旬推出Muse Image功能后,因允许用户引用公开Instagram账号内容生成图像,迅速遭遇大规模反对并在数日内撤回。该功能集成于Meta AI聊天机器人,由Meta Superintelligence Labs开发,是其首款图像生成模型。 事实还…

2026/7/18 0:10:15阅读更多 →
Cursor智能配置生成指南(VS Code用户紧急避坑版):已验证的7类YAML/JSON/TOML模板库首次公开

Cursor智能配置生成指南(VS Code用户紧急避坑版):已验证的7类YAML/JSON/TOML模板库首次公开

更多请点击: https://codechina.net 第一章:Cursor智能配置生成的核心原理与适用边界 Cursor 的智能配置生成并非基于通用大模型的泛化补全,而是依托于其深度集成的 IDE 语义感知引擎与本地化上下文建模能力。该机制在编辑器启动时自动构建项…

2026/7/18 0:10:15阅读更多 →
Python:企业级开发知识体系全景分析

Python:企业级开发知识体系全景分析

一句话定位:Python 企业级开发的本质,是在开发效率与系统稳定性之间找到平衡点。它要求开发者不仅掌握语言特性和框架用法,更要理解架构设计、性能优化、安全合规、工程化协作等超越代码本身的能力。本文从核心挑战、技术栈、架构设计、性能优…

2026/7/18 0:10:15阅读更多 →
DolphinDB实时聚合计算:多维度聚合

DolphinDB实时聚合计算:多维度聚合

目录摘要一、聚合计算概述1.1 聚合类型1.2 聚合函数1.3 聚合维度二、基础聚合2.1 单表聚合2.2 分组聚合2.3 条件聚合三、多维度聚合3.1 多列分组3.2 Cube聚合3.3 Rollup聚合四、层级聚合4.1 组织层级4.2 时间层级4.3 上卷下钻五、实时聚合引擎5.1 时间序列聚合5.2 多度量聚合5.…

2026/7/18 0:05:15阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/17 10:42:55阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/17 8:31:03阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/17 13:22:23阅读更多 →
从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…

2026/7/18 0:00:14阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:14阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

2026/7/18 0:00:14阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/17 22:48:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/17 13:22:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/17 17:26:50阅读更多 →