shell编程之条件语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程之条件语句相关的知识,希望对你有一定的参考价值。
shell编程之条件语句
tes命令:
测试特定的表达式是否成,当条件成了时,测试语句的返回值为0,否则为其他数值
格式1:test 条件表达式
格式2:[ 条件表达式 ] 注:中括号内前后要有空格
文件测试:
格式:[ 操作符 文件或目录 ]
常用的测试操作符:
-d:测试是否为目录
-e:测试目录或文件是否存在
-f:测试是否为文件
-r:测试当前用户是否有权限读取
-w:测试当前用户是否有权限写入
-x:测试当前用户是否有权限执行
判断单个文件最常用的是‘-f’选项,在比较两个文件是 ,我们常用的选项有:
-nt: 判断文件A是否比文件B新
-ot:判断文件A是否比文件B旧
-ef:判断两个文件是否为同一个文件,用来判断两个文件是否指向同一个inode.
整数值比较:
[ 整数1 操作符 整数2 ]
常用的测试操作符:
-eq:等于
-ne:不等于
-lt:小于
-gt:大于
-le:小于或等于
-ge:大于或等于
字符串比较:
格式1:[ 字符串1 = 字符串2 ]
:[ 字符串1 != 字符串2 ]
格式2:[ -z 字符串]
常用的测试操作符:
=:字符串内容相同
!=:字符串内容不同,!号表示相反的意思
-z : 字符串内容为空
逻辑测试:
格式1:[ 表达式1 ] 操作符 [ 表达式2 ]...
格式2:命令1 操作符 命令2...
常用的测试操作符:
-a或&&:逻辑与,“而且”的意思
-o或||:逻辑或,“或者”的意思
!:逻辑否(取反)
[ -d /etc ]etc是否存在 &&且 [ -r /etc ]etc是否可读 两个条件都成立才能执行 echo "You can open it"{有一个条件不成立后面就不执行}
[ -d /etc ]etc是否存在 ||或 [ -r /etc ]etc是否可读,两个条件一个成立 就所有条件都满足 可以执行后面的echo ‘ok‘.
以上是关于shell编程之条件语句的主要内容,如果未能解决你的问题,请参考以下文章