码迷,mamicode.com
首页 > 系统相关 > 详细

shell编程之条件语句

时间:2019-12-04 22:12:51      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:比较   取反   括号   不执行   amp   nod   表达   测试   code   

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编程之条件语句

标签:比较   取反   括号   不执行   amp   nod   表达   测试   code   

原文地址:https://blog.51cto.com/14557584/2456077

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!