Shell编程条件测试语句格式加简单案例

条件测试test

  • test 命令
    测试表达式是否成立,若成立返回0,否则返回其他数值
    格式1:test 条件表达式
    格式2:[ 条件表达式 ]
    在这里插入图片描述
    在这里插入图片描述

文件测试

  • 文件测试格式
    [ 操作符 文件或目录 ]
  • 常用的测试操作符
    • -d:测试是否为目录(Directory)
    • -e:测试目录或文件是否存在(Exist)
    • -f:测试是否为文件(File)
    • -r:测试当前用户是否有权限读取(Read)
    • -w:测试当前用户是否有权限写入(Write)
    • -x:测试当前用户是否有权限执行(eXcute)

整数测试

  • 整数值比较格式
    [ 整数1 操作符 整数2 ]
  • 常用的测试操作符
  • -eq:等于(Equal)
  • -ne:不等于(Not Equal)
  • -gt:大于(Greater Than)
  • -lt:小于(Lesser Than)
  • -le:小于或等于(Lesser Equal)
  • -ge:大于或等于(Greater Equal)

字符串测试

  • 字符串比较
    • 格式1:[ 字符串1 = 字符串2]
    • 格式2:[ -z 字符串 ]
  • 常用的测试操作符
    • =:字符串内容相同
    • !=:字符串内容不同,!表示相反的意思
    • -z:字符串内容为空
    • -n :检查是否有字符串存在
      在这里插入图片描述

逻辑测试

  • 逻辑测试
    • 格式1:[ 表达式1 ] 操作符 [ 表达式2 ] …
    • 格式2:命令1 操作符 命令2 …
  • 常用的测试操作符
  • -a&&:逻辑与,“而且”的意思。前面执行成功继续执行后面的没成功就不执行了
  • -o||:逻辑或,“或者”的意思。或前面执行成功就不会执行后面的,前面的执行失败就会执行后面的
  • !:逻辑否
    a=5
    [ $a -ne 1 ] && [ $a !=2 ]等同于 [ $a -ne 1 -a $a !=2 ]
    &&||操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中会报错

if语句

if单分支语句

  • 单分支结构
    在这里插入图片描述
    在这里插入图片描述
  • 举例

在这里插入图片描述

if双分支语句

  • 双分支结构
    在这里插入图片描述
    在这里插入图片描述
  • 举例

在这里插入图片描述

if多分支语句

  • 多分支结构
    在这里插入图片描述
    在这里插入图片描述
  • 举例
    在这里插入图片描述

case分支语句

  • case 多分支结构
    在这里插入图片描述
    在这里插入图片描述
  • 注意事项
    • case行首必须以单词“in”,每一模式必须以单个右括号")"结束
    • 双分号";;"表示命令序列的结束
    • 模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以使用竖杠|表示或,比如a|b
      最后的*)表示默认模式,其中的*相当于通配符
  • 举例:
    在这里插入图片描述
  • 第二种方式
    在这里插入图片描述
  • 例子2
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_53496398/article/details/114364711