Shell条件语句

条件测试操作:

Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时(真)时表示成功,返回值为非0时(假)表示失败或异常

test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立($?返回值为0时表示条件成立)

格式一:

test  条件表达式

 

 

 格式二:

[ 条件表达式 ]

 

 

 文件测试:

格式:

[ 操作符  文件或目录 ]

常用的操作符:

  • -e:测试目录或文件是否存在(Exist)
  • -d:测试是否为目录(Directory)
  • -f:测试是否为文件(File)
  • -r:测试当前用户是否有权限读取(Read)
  • -w:测试当前用户是否有权限写入(Write)
  • -x:测试是否设置有可执行权限(Excute)
  • -L:测试是否为符号链接

 

 整数值比较

格式:

[ 整数变量1 操作符 整数变量2 ]

 

 

常用的操作符:

  • -eq:等于(Equal)                         ==
  • -ne:  不等于(Not Equal)               !=
  • -gt:大于 (Greater Than)             \>
  • -lt:小于(Lesser Than)                  \<
  • -ge:大于或等于(Lesser or Equal)
  • -le:小于或等于(Greater or Equal)

 常用的测试操作符

 

 字符串比较

格式一:

[ 字符串1 = 字符串2 ]

[ 字符串1 != 字符串2 ]

 

 

 

 格式二:

[ -z  字符串 ]

 

 

常用的测试操作符

  • =:字符串内容相同
  • !=:字符串内容不同,!号表示相反的意思
  • -z:字符串内容为空

逻辑测试

格式一:

[ 表达式1 ] 操作符 [ 表达式2 ]

 

 

格式二:

[ 命令1 操作符 命令2 ]

 

 

 常用的测试操作符

  • -a或&&:逻辑与,“而且”的意思
  • -o或||:逻辑或,“或者”的意思
  • !=:逻辑否

 

 if语句的结构

单分支结构:

if 条件测试操作

then

      命令序列

fi

 

 

 

 

 

 

 双分支语句

if 条件测试操作

then

      命令序列1

else

      命令序列2

fi

 

 

 

 

 

 

 

 

 多分支语句:

if 条件测试操作

then

      命令序列1

elif 条件测试操作2

then

      命令序列2

else

      命令序列2

fi

 

 

 

 

 

 

 

 

 

 

 

 case分支语句

case  变量值  in

模式1)

      命令序列1

;;

模式2)

      命令序列2

;;

*)

      默认命令序列

esac

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-07-15 12:09  盛世丑八怪  阅读(46)  评论(0)    收藏  举报