shell脚本之条件语句

一、条件测试

1、条件测试操作

       要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。

       使用专门的测试工具——test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。

       使用test测试命令时,有以下两种形式:

格式一: 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

操作过程:

判断已用磁盘空间是否大于X%,如果是就报警提示。

2、if双分支结构 

格式:

if      判断条件

then

        条件成立的分支代码

else

        条件不成立的分支代码

fi

操作过程:

检测80端口是否在监听,如果是,则提示”网站服务已在运行“;如果否,则启动httpd服务。

3、if多分支结构 

格式:

 if   判断条件1
 then
      条件1为真的分支代码
 ​
 elif 判断条件2
 then
      条件2为真的分支代码
 ​
 elif 判断条件3
 then
      条件3为真的分支代码
 ​
 ...
 else
      以上条件都为假的分支代码
 ​
 fi

操作过程:

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

 

 三、case语句的结构

格式:

 case   变量引用 in
 模式1)
        命令分支1
 ;;
 模式2)
        命令分支2
 ;;
 ...
 *)
        默认命令分支
 esac

 操作过程:

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

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值