导图
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常见条件
-
-a或&&:逻辑与,“而且”的意思全真才为真
-
-o或||:逻辑或,“或者”的意思一真即为真
-
!:逻辑否
3.整数数值比较
3.1比较格式
[ 整数1 操作符 整数2 ]
3.2常用操作符
-
-eq:第一个数等于(Equal)第二个数
-
-ne:第一个数不等于(Not Equal)第二个数
-
-gt:第一个数大于(Greater Than)第二个数
-
-lt:第一个数小于(Lesser Than)第二个数
-
-le:第一个数小于或等于(Lesser or Equal)第二个数
-
-ge:第一个数大于或等于(Greater or Equal)第二个数
4.字符串比较
4.1格式
[ 字符串1 = 字符串2 ] //是否相同 [ 字符串1 != 字符串2 ] //是否不相同 [ -z 字符串 ] //是否为空 [ -n 字符串 ] //字符是否存在
4.2常用操作符
-
=:字符串内容相同
-
!=:字符串内容不同,! 号表示相反的意思
-
-z:字符串内容为空
-
-n: 字符是否存在
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 ;; ... *) 默认分支 ;;
标签:语句,脚本,shell,是否,测试,条件,字符串,格式,分支 From: https://www.cnblogs.com/suoluo212/p/16825396.html