珀耳塞福建 发表于 2018-8-21 13:38:20

Shell脚本条件测试操作

  【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条件测试的一些简单的操作,如果觉得不错那就点个赞吧~\(≧▽≦)/~
  如果有大神发现我有哪里写的不对的,请评论告诉我,我会及时更正的哦!

页: [1]
查看完整版本: Shell脚本条件测试操作