【test命令】
测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值
格式1:test 条件表达式
格式2:[ 条件表达式 ] //前后至少一个空格
【文件测试】
格式:[ 操作符 文件或目录 ]
-d:测试是否为目录(Directory)
-e: 测试目录或文件是否存在(Exist)
-f: 测试是否为文件(File)
-r: 测试当前用户是否有权限读取(Read)
-w: 测试当前用户是否有权限写入(Wrute)
-x: 测试是否设置有可执行(Excute)权限
若测试的条件不成立,则测试操作的返回值将不为0(通常为1)
为了更直观地查看测试结果,可以结合 && 和 echo 命令一起使用,当条件成立时直接输出“YES”
【整数值比较】
整数值比较指的是根据给定的两个整数值,判断第一个数与第二个数的关系,如果是否大于、等于、小于第2个数。
-eq: 第一个数等于(Equal)第二个数
-ne: 第一个数不等于(Not Equal)第二个数
-gt: 第一个数大于(Greater Than)第二个数
-lt: 第一个数小于(Lesser Than)第二个数
-le: 第一个数小于或等于(Lesser or Equal)第二个数
-ge: 第一个数大于或等于(Greater or Equal)第二个数
例如,若要判断当前已登录的用户数,当超出一个时输出“大于1”,可以执行以下操作。
【字符串比较】
格式1:[ 字符串1 = 字符串2 ] :第一个字符串与第二个字符串相同
[ 字符串1 != 字符串2 ] :第一个字符串与第二个字符串不相同,其中“!”符号表示取反
格式2:[ -z 字符串 ] :检查字符串是否为空(Zero),对于未定义或赋予空值得变量将视为空串
【逻辑测试】
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...
格式2:命令1 操作符 命令2 ...
&&:逻辑与,表示“而且”,只有当前后两个条件都成立时,整个测试命令的返回值才为0(结果成立)。使用Test命令测试时,“&&”可改为“-a”
||:逻辑或,表示“或者”,只要前后两个条件中有一个成立,整个测试命令的返回值及为0(结果成立)。使用Test命令测试时,“||”可改为“-o”
!:逻辑否,表示“不”,只有当指定的条件不成立时,整个测试命令的返回值才为0(结果成立)
以上一些Shell条件测试的一些简单的操作,如果觉得不错那就点个赞吧~\(≧▽≦)/~
如果有大神发现我有哪里写的不对的,请评论告诉我,我会及时更正的哦!
转载于:https://blog.51cto.com/wuyunkeji/1867841