【test命令】

测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值

    格式1:test  条件表达式

    格式2:[  条件表达式  ]        //前后至少一个空格

【文件测试】

    格式:[  操作符  文件或目录  ]

        -d:测试是否为目录(Directory)

        -e: 测试目录或文件是否存在(Exist)

        -f: 测试是否为文件(File)

        -r: 测试当前用户是否有权限读取(Read)

        -w: 测试当前用户是否有权限写入(Wrute)

        -x: 测试是否设置有可执行(Excute)权限

wKiom1gXN8PAdMTlAAArJG7WR5Q642.png

若测试的条件不成立,则测试操作的返回值将不为0(通常为1)

wKiom1gXOFDC4ucLAAAltKSCeu0667.png

为了更直观地查看测试结果,可以结合 && 和 echo 命令一起使用,当条件成立时直接输出“YES”

wKiom1gXOhaTmpwzAAA0ImFkpx0344.png

【整数值比较】

整数值比较指的是根据给定的两个整数值,判断第一个数与第二个数的关系,如果是否大于、等于、小于第2个数。

    -eq: 第一个数等于(Equal)第二个数 

    -ne: 第一个数不等于(Not Equal)第二个数

    -gt: 第一个数大于(Greater Than)第二个数

    -lt: 第一个数小于(Lesser Than)第二个数

    -le: 第一个数小于或等于(Lesser or Equal)第二个数

    -ge: 第一个数大于或等于(Greater or Equal)第二个数

例如,若要判断当前已登录的用户数,当超出一个时输出“大于1”,可以执行以下操作。

wKioL1gXPZCicPSoAAA2sFgplCU851.png

【字符串比较】

格式1:[  字符串1  =  字符串2 ]   :第一个字符串与第二个字符串相同

       [  字符串1  !=  字符串2 ]  :第一个字符串与第二个字符串不相同,其中“!”符号表示取反

格式2:[  -z  字符串 ]   :检查字符串是否为空(Zero),对于未定义或赋予空值得变量将视为空串

wKioL1gXQFPQuT-DAABg3y4vKaI561.png

【逻辑测试】

格式1:[  表达式1  ]  操作符  [  表达式2  ]  ... 

格式2:命令1  操作符  命令2  ... 

    &&:逻辑与,表示“而且”,只有当前后两个条件都成立时,整个测试命令的返回值才为0(结果成立)。使用Test命令测试时,“&&”可改为“-a”

    ||:逻辑或,表示“或者”,只要前后两个条件中有一个成立,整个测试命令的返回值及为0(结果成立)。使用Test命令测试时,“||”可改为“-o”

    !:逻辑否,表示“不”,只有当指定的条件不成立时,整个测试命令的返回值才为0(结果成立)

wKiom1gXQ-TQlEvwAABJYCss2Zo989.png

以上一些Shell条件测试的一些简单的操作,如果觉得不错那就点个赞吧~\(≧▽≦)/~

如果有大神发现我有哪里写的不对的,请评论告诉我,我会及时更正的哦!