Shel编程之条件语句

  • 一. 条件测试
    • 1.文件测试
    • 2.整数值比较
    • 3.字符串比较
    • 4.逻辑测试
  • 二. if语句的结构
    • 1.单分支结构
    • 2.双分支结构
    • 3.多分支结构
  • 三. case语句结构

一. 条件测试

test命令

  • 测试表达式是否成立,若成立返回0,否则返回其他数值
 - 格式1:test 条件表达式- 格式2:[ 条件表达式 ]

1.文件测试

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

2.整数值比较

[ 整数1 操作符 整数2 ]

用于比较两个整数值的大小。

$() 和 反撇号 是用来提取里面命令的执行结果。

  • 常用的测试操作符
-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)

3.字符串比较

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

用于比较两个整数值的大小。

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

4.逻辑测试

[ 表达式1 ] 操作符 [ 表达式2 ]
命令1 操作符 命令2
  • 常用的测试操作符
-a或&&:逻辑与,“而且”的意思
-o或||:逻辑或,“或者”的意思
!:逻辑否

-a或&& :逻辑与,“而且”的意思,为真时,左右表达式需都成立
-o或|| :逻辑或,“或者”的意思,只需前后条件中一个成立

注:-a 和 -o 需要在 [ ] 括号中执行。


二. if语句的结构

1.单分支结构

# 比较10大于5,是就直接输出0k
#!/bin/bashif [ 10 -ge 5 ]
then
echo "ok"
fi

2.双分支结构

# 查看0端口是否运行,没有运行就开启运行
#!/bin/bashnetstat -natp | grep ":80"
if [ $? -eq 0 ];thenecho "网站服务已经运行!"
elseecho "启动httpd服务"yum install -y httpd > /dev/nullsystemctl start httpd
fi

3.多分支结构

#!/bin/bashread -p "请输入你的分数:" scoreif [ $score -gt 99 ] && [ $score -le 100 ];thenecho "牛逼"
elif [ $score -ge 90 ] && [ $score -le 99 ];thenecho "可以"
elif [ $score -ge 60 ] && [ $score -le 89 ];thenecho "好好努力"
elseecho "脑子瓦特了"
fi

三. case语句结构


通配符操作

case语句注意事项

①case行首必须以单词“in”,每一模式必须以单个右括号")"结束

②双分号";;"表示命令序列的结束

③模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以使用竖杠|表示或,比如a|b

最后的*)表示默认模式,其中的*相当于通配符

Shel编程之条件语句 条件 if ,case语句相关推荐

  1. MySQL使用IF语句以及用case语句对条件或结果进行判断

    MySQL使用IF语句以及用case语句对条件或结果进行判断 一.前期准备 二.IF语句 1.场景一 2.场景二 三.CASE语句 一.前期准备 CREATE TABLE `t1` (`id` int ...

  2. sql语句中的case语句

    sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种值的情况下分别执行不同的操作. 首先,让我们看一下CASE的语法.在一般的SELECT中,其语法格 ...

  3. 如何解决大量的if语句或switch case语句?

    洪流学堂,让你快人几步. 本篇内容来自洪流读书会解读书籍<代码大全2>. 很多面试官喜欢问这样的问题,如何解决大量的if语句或switch case语句?如果你仅仅在优化的层面回答,可能不 ...

  4. sqlserver中能用when_sqlserver中if语句顶替when.case.语句

    sqlserver中if语句替代when...case..语句 create table Employees ( EmployeeID char(6) primary key not null, Na ...

  5. php case 多个条件判断语句,PHP switch case语句

    PHP 中的条件控制语句有两个,一个是 if else 语句,另一个是 switch case 语句.上节讲解了 if else,本节接着讲解 switch case 语句. switch 语句类似具 ...

  6. c语言 case语句用法,switch case语句的用法

    switch语句是多分支选择语句,用于基于不同的条件来执行不同的动作.下面讲解switch case语句的具体用法. Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有编程经验的 ...

  7. mysql能用case嵌套sql吗,关于sqlserver中查询语句中嵌套case语句使用方法

    ryxxlong的博客 Sql server 中的 CASE 语句文章, 链接 http://ryxxlong.iteye.com/blog/531221 写的比较详细,具体内容如下,主要用于自己以后 ...

  8. c语言 case语句用法,switch ... case语句的用法[组图]

    switch ... case语句的用法[组图] 08-13栏目:技术 TAG:switch case语句 switch case语句 当情况大于或等于4种的时候就用switch ...  case语 ...

  9. Shell 编程之 case 语句

    一.case 语句 1.case 语句概述 (1)case 语句的作用 使用 case 语句改写 if 多分支可以使脚本结构更加清晰.层次分明.针对变量的不同取 值,执行不同的命令序列. 2.case ...

  10. T-SQL:流程控制 4,Case 语句

    ylbtech-SQL Server:SQL Server-流程控制 4,Case 语句 SQL Server 流程控制中的 Case 语句. 1,Case 语句 1 --============== ...

最新文章

  1. rn php,rn怎样在PHP的正则表达式中匹配到?
  2. 在C# Express 2005中配置 NUnit
  3. android文件管理实现所应用到的技术,基于Android的文件管理系统的设计与实现
  4. 向模态窗体传递参数和获取返回值
  5. ASP.Net中OnBeforeUnLoad事件中调用__doPostBack不起作用?
  6. .NET Core开发实战(第9课:命令行配置提供程序)--学习笔记
  7. java并发编程实践(1)intro
  8. 美团Android开发工程师岗位职能要求,真香
  9. 虚拟机安装docker_Docker 从入门到放弃:新手学习笔记(上)
  10. 聚类分析:1.相似性测度
  11. 深入理解数组与指针——原因在于”退化“
  12. 半岛电视台员工遭iOS iMessage app零点击0day 漏洞利用攻击
  13. Javascript 535种方式!!!实现页面重载
  14. [IE编程] IE8的SDK 下载
  15. Datawhale--组队学习第12期--python爬虫基础学习---task0/task1环境配置和网页请求基础
  16. Business Transaction Events BTE 增强
  17. 爱是一种遇见 一种心疼
  18. C语言源代码系列-管理系统之学生信息管理系统
  19. 虚拟机与主机间的文件传输
  20. [陈天奇]机器学习编译课程学习笔记

热门文章

  1. kali无法ping通baidu.com
  2. 解决Win 10桌面 IE 图标消失问题的注册表代码
  3. Cortex-A 架构
  4. Wipe In and Wipe Out 抹进、抹出(动画显示、动画隐藏)(展开、折叠)(拉下、收起)
  5. 如何根据观看距离来确定合适的投影幕布尺寸?
  6. 【华为机试真题 Python实现】黑板上的数字涂颜色【2022 Q1 Q2 |100分】
  7. 三星BESPOKE家电系列海外发布会看点一览,定制化设计成未来家居首选
  8. 七夕节送女朋友什么礼物最好、七夕最走心的礼物清单
  9. php西游记源码,基于Python第三方插件实现西游记章节标注汉语拼音的方法
  10. this的五种绑定方式