一,条件测试

二、if语句的结构

 三、case语句结构

一,条件测试

1、条件测试操作

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

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

格式一: test 条件表达式

格式二:[ 条件表达式 ]  #方括号"["或"]"与条件表达式之间需要至少一个空格进行分离

2、文件测试

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

常用的操作符

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

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

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

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

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

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

-L:测试是否为符号链接

 

 3、整数制比较

格式: [  整数变量1  操作符  整数变量2  ]

常用的操作符

-eq:等于

-ne:不等于

-gt:大于

-lt:小于

-le:小于等于

-ge:大于等于

 

 4、字符串比较

格式1: [  字符串1  =  字符串2  ]

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

格式2: [  -z  字符串  ]

常用的操作符

=:字符串内容相同

!=:字符串内容不同,!表示相反的意思

-z:字符串内容为空

-n:检查是否有字符串存在

5、逻辑测试

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

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

常用的测试操作符

-a或&&:逻辑与,“而且”的意思

-o或||   :逻辑或,“或者”的意思

    !    :逻辑否

二、if语句的结构

1、单分支结构

if  条件测试操作

   then  命令序列

fi

 

 2、双分支结构

if  条件测试操作

   then  命令序列1

   else  命令序列2

fi

 使用双分支结构来判断 80端口httpd是否在运行

 

 

 3、多分支结构

if  条件测试操作

   then  命令序列1

elif 条件测试操作2

   then 命令序列 2

   else  命令序列3

fi

 例:使用多分支结构创作脚本文件使85~100分之间判为优秀,70-84之间判为合格,其余为不合格

 

 

 

 三、case语句结构

case多分支结构

case 变量值 in

模式1)

   命令序列1

;;

模式2)

   命令序列2

;;

.......

*)

   默认命令序列

esac

 

 同样那上一个例子举例

 

 

 

 

 

 

posted on 2021-07-15 03:08  且听风吟J  阅读(317)  评论(0编辑  收藏  举报