Shell——if语句
一、条件测试
1、test命令
测试表达式是否成立,若不成立返回0,否则返回其他数值
test 条件表达式 //或者 [ 条件表达式 ]
2、示例
二、文件测试
1、格式
操作符 文件名或者目录名
2、常用的测试操作符
-d∶ 测试是否为目录(Directory)
-e∶ 测试目录或文件是否存在(Exist)
-f∶ 测试是否为文件(File)
-r∶ 测试当前用户是否有权限读取(Read)
-w∶ 测试当前用户是否有权限写入(Write)
-x∶测试当前用户是否有权限执行(eXcute)
-L∶测试是否为软链接文件
3、示例
三、整数值比较
1、格式
[ 整数1 操作符 整数2 ]
2、常用的测试操作符
3、示例
3.1 结合逻辑与进行查询当前目录下的文件数目
3.2 查看系统内存是否低于或者高于1024M,如果满足条件则提示
3.3 使用双括号加数字进行表示
四、字符串比较
1、格式
[ 字符串1 = 字符串2 ] //判断是否相等 [ 字符串1 != 字符串2 ] //判断是否不等[ -z 字符串 ]
2、常用的测试操作符
- =∶ 字符串内容相同
- !=∶ 字符串内容不同,!号表示相反的意思
- z∶字符串内容为空
3、示例
五、逻辑测试
1、格式
[ 表达式1 ] 操作符 [ 表达式2 ]… //或者 命令1 操作符 命令2…
2、常用的测试操作符
- -a或&&∶ 逻辑与,"而且"的意思
- -o或||∶ 逻辑或,"或者"的意思
- !∶逻辑否
3、示例
六、if语句
1、单分支结构
如果只有一个判断式要进行,那么我们可以使用单分支的if语句
1.1 格式
if [ 条件判断式 ];then 当条件判断成立时,可以进行的命令工作内容 fi
1.2 原理图
1.3 示例
2、双分支结构
在同一个数据的判断中,如果该数据需要进行两种不同的判断,就使用双分支if语句
2.1 格式
if [ 条件判断式 ];then 当条件判断成立时,可以进行的命令工作内容 else 当条件判断不成立时可以进行的命令工作内容 fi
2.2 原理图
2.3 示例
3、多分支结构
如果数据需要进行多种不同的判断,则可以使用多分支结构
3.1 格式
if [ 条件判断式 ]; then 当条件判断成立时,可以进行的命令工作内容 elif [ 条件判断式二 ]; then 当条件判断成立时,可以进行的命令工作内容 else 当上面的条件判断都不成立时,可以进行的命令工作内容 fi
3.2 原理图
3.3 示例
七、case语句结构
1、格式
case 变量名称 in “第一个变量内容” 程序段 ;; “第二个变量内容” 程序段 ;; *) 不包含第一个变量内容与第二个变量内容的其他程序执行段 默认程序段 ;; esac
2、示例
总结
多注意格式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY