【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条件语句全部基础知识点全程真机实操可复现适合入门学习与技术复盘建议收藏

相关新闻

最新新闻

智能无人机(UAV)影像单株树木健康评估检测数据集无人机航拍树木数据集、YOLOv11树木检测数据集、树木折断识别、枯死树木检测、多季节林地数据、智慧林业AI数据集树木健康检测、林业巡检

智能无人机(UAV)影像单株树木健康评估检测数据集无人机航拍树木数据集、YOLOv11树木检测数据集、树木折断识别、枯死树木检测、多季节林地数据、智慧林业AI数据集树木健康检测、林业巡检

智能航拍无人机(UAV)影像单株树木健康评估检测数据集 无人机拍摄的高分辨率影像数据,涵盖了不同季节和天气条件下的森林区域,700余张高分辨率无人机图像(1293*1293左右),采用yolo格式标注&#…

2026/7/17 22:19:18
智能农产品茶叶嫩芽检测、茶叶等级分类、茶叶品质检测、嫩芽分级、茶叶AI检测茶叶分拣数据集、茶园智能检测、PyQt5茶叶检测界面、智能农产品目标检测数据集

智能农产品茶叶嫩芽检测、茶叶等级分类、茶叶品质检测、嫩芽分级、茶叶AI检测茶叶分拣数据集、茶园智能检测、PyQt5茶叶检测界面、智能农产品目标检测数据集

智能农产品茶叶嫩芽检测数据集,5740张,yolo和voc两种标注方式 4类,标注数量: T1最好: 1533 T2次好: 1733 T3较差: 1252 T4最差: 1223 image num: 5740 模型代码 采用 YOLOv11n 网络训练 训练轮次:30 个 epoch 提供全部…

2026/7/17 22:19:18
智能医学检测皮肤疾病分类数据集、皮肤病识别、皮肤影像数据集、AI皮肤诊断、皮肤病症筛查光化性角化病检测、湿疹识别、色素痣分类、银屑病数据集、皮肤癣菌病识别、白癜风检测、正常皮肤区分

智能医学检测皮肤疾病分类数据集、皮肤病识别、皮肤影像数据集、AI皮肤诊断、皮肤病症筛查光化性角化病检测、湿疹识别、色素痣分类、银屑病数据集、皮肤癣菌病识别、白癜风检测、正常皮肤区分

智能医学检测皮肤疾病分类数据集, 数据集统计汇总 数据集总类别数量:7 数据集全部图片总数量:10528 数据集包含所有图像尺寸:[(640, 640)]各类别明细(类别名称 - 图像数量): Actinic_Keratosis …

2026/7/17 22:19:18
LabVIEW图像控件拖拽缩放实现与优化技巧

LabVIEW图像控件拖拽缩放实现与优化技巧

1. 项目背景与核心功能 这个LabVIEW Demo项目主要解决了一个常见的图像交互需求:如何在二维图片控件上实现平滑的拖拽和缩放操作。在实际的测试测量、工业检测等场景中,工程师经常需要查看高分辨率图片的细节部分,或者对比不同区域的图像特征…

2026/7/17 22:19:18
RISC-V开发板昉·星光2的Docker与OpenWrt部署实战

RISC-V开发板昉·星光2的Docker与OpenWrt部署实战

1. 昉星光 2与RISC-V生态现状解析昉星光 2(VisionFive 2)作为全球首款集成3D GPU的高性能量产RISC-V单板计算机,其硬件配置在开源硬件领域堪称豪华。搭载的JH7110 SoC采用64位四核RISC-V架构,主频可达1.5GHz,配合Imagi…

2026/7/17 22:19:18
WordPress图像优化实战:WebP Express插件原理、配置与性能提升指南

WordPress图像优化实战:WebP Express插件原理、配置与性能提升指南

1. 项目概述:为什么你的WordPress网站需要一个图像管家如果你正在运营一个WordPress网站,无论它是个人博客、企业官网还是电商平台,图片加载速度慢、页面体积臃肿的问题,你一定不陌生。一张未经优化的高清图片,动辄几兆…

2026/7/17 22:14:18

月新闻