shell脚本:条件语句
导图
1.条件测试
1.1 test命令测试
格式1:test 条件表达式
格式2:[ 条件表达式 ]
1.2 test操作符
-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-a:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
-L: 测试是否为软连接文件
1.3 属性测试补充
-s FILE #是否存在且非空
-t fd #fd 文件描述符是否在某终端已经打开
-N FILE #文件自从上一次被读取之后是否被修改过
-O FILE #当前有效用户是否为文件属主
-G FILE #当前有效用户是否为文件属组
2.逻辑测试
2.1格式
格式1∶ [ 表达式1 ] 操作符 [ 表达式2 ]…
格式2∶ 命令1 操作符 命令2…
2.2常见条件
-
-
-o或||:逻辑或,“或者”的意思一真即为真
-
3.整数数值比较
3.1比较格式
[ 整数1 操作符 整数2 ]
3.2常用操作符
-
-
-ne:第一个数不等于(Not Equal)第二个数
-
-gt:第一个数大于(Greater Than)第二个数
-
-lt:第一个数小于(Lesser Than)第二个数
-
-le:第一个数小于或等于(Lesser or Equal)第二个数
-
4.字符串比较
4.1格式
[ 字符串1 = 字符串2 ] //是否相同 [ 字符串1 != 字符串2 ] //是否不相同 [ -z 字符串 ] //是否为空 [ -n 字符串 ] //字符是否存在
4.2常用操作符
-
-
!=:字符串内容不同,! 号表示相反的意思
-
-z:字符串内容为空
-
5.if语句
5.1单分支
格式: if 判断条件; //if表示开始 then 条件为真时 执行代码 fi //fi表示结束
5.1.1单分支流程图
5.2双分支
格式: if 判断条件; then 条件为真时,执行的分支代码 else 条件为假时,执行的分支代码 fi
5.2.1双分支流程图
5.3多分支
格式: if 判断条件1 then 条件1为真时,执行的分支代码 elif 判断条件2 then 条件2为真时,执行的分支代码 elif 判断条件3;then 条件3为真时,执行的分支代码 ... else 以上条件都为假时,执行的分支代码 fi
5.3.1多分支流程图
6.case语句
格式: case 变量引用 in PAT1) 分支1 ;; PAT2) 分支2 ;; ... *) 默认分支 ;;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律