条件测试
-
test 命令
-
测试表达式是否成立,若不成立返回0,否则返回其他数值
-
格式: test 条件表达式 例如: test 1 = 1 (中间要有空格)
-
测试操作符
测试选项 作用 -b 文件 判断该文件是否存在,并且是否为块设备文件 -c 文件 判断该文件是否存在,并且是否为字符设备文件 -d 文件 判断该文件是否存在,并且是否为目录文件 -e 文件 判断该文件是否存在 -f 文件 判断该文件是否存在,并且是否为普通文件 -L 文件 判断该文件是否存在,并且是否为符号链接文件 -p 文件 判断该文件是否存在,并且是否为管道文件 -s 文件 判断该文件是否存在,并且是否为非空 -S 文件 判断该文件是否存在,并且是否为套接字文件
-
文件测试与整数测试
-
文件测试格式 : [ 操作符 文件或目录 ]
-
常用操作符
常用操作符 说明 -d 测试是否为目录(Directory) -e 测试目录或文件是否存在(Exist) -f 测试是否为文件(File) -r 测试当前用户是否有权限读取(Read) -w 测试当前用户是否有权限写入(Write) -x 测试当前用户是否有权限执行(eXcute)
-
整数值比较
-
[ 整数1 操作符 整数2 ]
-
常用操作码
常用操作符 说明 -eq 等于(Equal) -ne 不等于(Not Equal) -lt 小于(Lesser Than) -gt 大于(Greater Than) -le 小于或等于(Lesser or Equal) -ge 大于或等于(Greater or Equal)
-
[ F r e e C C = FreeCC= FreeCC=(free -m | grep “Mem:” | awk ’ (print $4) ’ ) ]
[ $FreeCC -lt 1024 ] && echo $(FreeCC)MB ]
字符串测试与逻辑测试
-
字符串测试
[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
[ -z 字符串 ]
-
常用操作串
常用操作串 说明 = 字符串内容相同 != 字符串内容不同,!号表示相反的意思 -z 字符串内容为空 -n 检查是否有字符串存在
-
逻辑测试
-
格式 : [ 表达式1 ] 操作符 [ 表达式2 ] 或 命令1 操作符 命令2
-
常用测试操作符
常用操作符 说明 -a或&& 逻辑与,而且的意思 -o或▕▕ 逻辑或,或者的意思 ! 逻辑否
-
if语句
if单分支语句
- 语法结构
if 条件测试操作
then 命令序列
fi
if双分支语句
-
语法结构
if 条件测试操作 then 命令序列1 else 命令序列2 fi
if多分支语句
-
语法结构
if 条件测试操作1 then 命令序列1 elif 条件测试操作2 then 命令序列2 else 命令序列3 fi
case分支语句
-
语法结构
case $变量 in 值1) 命令序列1 ;; 值2) 命令序列2 ;; *) 默认命令序列3 ;; esac