bash脚本条件测试总结
2017-11-07 14:23
405 查看
一、if语句的结构
分为以下三种:单分支、双分支、多分支单分支if语句
if CONDITION is True; then 分支 fi
双分支if语句
if CONDITION is True; then 分支 else 分支 fi
多分支if语句
if CONDITION is True; then 分支 elif CONDITION is True; then 分支2 ... else 分支n fi
二、测试形式
分为以下两种:命令执行状态结果形式、条件表达式形式1. 命令的执行状态结果,即命令执行成功与否:
if COMMAND &> /dev/null;then #一定要注意此处的命令不带括号或单引号
2. 条件表达式
分为以下两种:命令形式和关键字形式
(1)命令形式(其本质同上1,表达式本身也不能应用于测试,下述的test和[]形式也是命令,类似.表示source命令)
==(a) test EXPRESSION==
if test EXPRESSION; then
==(b) [ EXPRESSION ]==
if [ EXPRESSION ]; then #一定要注意中括号前后有空格
(2) 关键字形式
==(c) [[ EXPRESSION ]]==
if [[ EXPRESSION ]]; then #一般用于字符串测试,尤其是模式匹配测试
三、测试方法(测试种类)
分为以下三种:整数测试、字符串测试、文件测试1、整数测试
-ge, -gt, -le, -lt, -eq, -ne
(其实也可以用>等来表示,只是得加双小括号)
2、字符串测试;
双目:>, <, ==, != , ~= (用于模式匹配)
单目:-z (真空,非空假),-n(非空真,空假)
3、文件测试
-e $file: 是否存在,存在则为真;
-a $file: 同上,弃用;
-f $file: 文件是否存在,且为普通文件;
-d $file: 是否存在,且为目录;
-h $file: 是否存在,且为符号链接文件;
-l $file: 同上;
-b $file: 是否存在,且为块设备文件;
-S $file: 是否存在,且为套接字文件;
-c $file: 是否存在,且为字符设备文件;
-p $file: 是否存在,且为管道文件;
-r $file: 当前用户是否对此文件拥有读权限;
-w $file: 当前用户是否对此文件拥有写权限;
-x $file: 当前用户是否对此文件拥有执行权限;
-u $file: 文件是否拥有suid权限;
-g $file: 文件是否拥有sgid权限;
-k $file: 文件是否拥有sticky权限;
-O $file: 当前用户是否为文件的属主;
-G $file: 当前用户是否属于文件的属组;
-N $file: 文件自从上一次被读取之后,是否被修改过;
$f1 -nt $f2:文件f1是否比文件f2新;
$f1 -ot $f2:文件f1是否比文件f2旧;
$f1 -ef $f2:文件f1和文件f2是否为同一个文件的硬链接;
上述所有文件测试条件都支持!取反。
相关文章推荐
- bash脚本:条件测试及算术运算
- bash脚本基础入门之条件测试
- Bash脚本条件测试的几种方式
- bash脚本编程之条件判断及测试
- #7 shell脚本编程之bash运算和条件测试命令
- 第七课-第二讲 07_02_bash脚本编程之六 使用脚本选项及组合条件测试
- Linux01-bash脚本编程之六使用脚本选项及组合条件测试23
- bash编程-条件测试
- linux脚本判断条件总结
- shell脚本之条件测试与判断
- Linux Shell 脚本应用——条件测试
- 测试总结和组合测试条件 (笔记)
- bash脚本编程之条件判断、算术运算及实例
- Shell脚本IF条件判断和判断条件总结
- linux shell脚本之条件与测试
- Shell脚本IF条件判断和判断条件总结
- bash脚本-表达式,&&,||,if,整数测试,let,文件测试,$特殊变量
- BASH命令和SHELL脚本总结(3)命令篇
- Shell脚本IF条件判断和判断条件总结
- shell脚本之条件测试