Shel编程之条件语句 条件 if ,case语句
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语句相关推荐
- MySQL使用IF语句以及用case语句对条件或结果进行判断
MySQL使用IF语句以及用case语句对条件或结果进行判断 一.前期准备 二.IF语句 1.场景一 2.场景二 三.CASE语句 一.前期准备 CREATE TABLE `t1` (`id` int ...
- sql语句中的case语句
sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种值的情况下分别执行不同的操作. 首先,让我们看一下CASE的语法.在一般的SELECT中,其语法格 ...
- 如何解决大量的if语句或switch case语句?
洪流学堂,让你快人几步. 本篇内容来自洪流读书会解读书籍<代码大全2>. 很多面试官喜欢问这样的问题,如何解决大量的if语句或switch case语句?如果你仅仅在优化的层面回答,可能不 ...
- sqlserver中能用when_sqlserver中if语句顶替when.case.语句
sqlserver中if语句替代when...case..语句 create table Employees ( EmployeeID char(6) primary key not null, Na ...
- php case 多个条件判断语句,PHP switch case语句
PHP 中的条件控制语句有两个,一个是 if else 语句,另一个是 switch case 语句.上节讲解了 if else,本节接着讲解 switch case 语句. switch 语句类似具 ...
- c语言 case语句用法,switch case语句的用法
switch语句是多分支选择语句,用于基于不同的条件来执行不同的动作.下面讲解switch case语句的具体用法. Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有编程经验的 ...
- mysql能用case嵌套sql吗,关于sqlserver中查询语句中嵌套case语句使用方法
ryxxlong的博客 Sql server 中的 CASE 语句文章, 链接 http://ryxxlong.iteye.com/blog/531221 写的比较详细,具体内容如下,主要用于自己以后 ...
- c语言 case语句用法,switch ... case语句的用法[组图]
switch ... case语句的用法[组图] 08-13栏目:技术 TAG:switch case语句 switch case语句 当情况大于或等于4种的时候就用switch ... case语 ...
- Shell 编程之 case 语句
一.case 语句 1.case 语句概述 (1)case 语句的作用 使用 case 语句改写 if 多分支可以使脚本结构更加清晰.层次分明.针对变量的不同取 值,执行不同的命令序列. 2.case ...
- T-SQL:流程控制 4,Case 语句
ylbtech-SQL Server:SQL Server-流程控制 4,Case 语句 SQL Server 流程控制中的 Case 语句. 1,Case 语句 1 --============== ...
最新文章
- rn php,rn怎样在PHP的正则表达式中匹配到?
- 在C# Express 2005中配置 NUnit
- android文件管理实现所应用到的技术,基于Android的文件管理系统的设计与实现
- 向模态窗体传递参数和获取返回值
- ASP.Net中OnBeforeUnLoad事件中调用__doPostBack不起作用?
- .NET Core开发实战(第9课:命令行配置提供程序)--学习笔记
- java并发编程实践(1)intro
- 美团Android开发工程师岗位职能要求,真香
- 虚拟机安装docker_Docker 从入门到放弃:新手学习笔记(上)
- 聚类分析:1.相似性测度
- 深入理解数组与指针——原因在于”退化“
- 半岛电视台员工遭iOS iMessage app零点击0day 漏洞利用攻击
- Javascript 535种方式!!!实现页面重载
- [IE编程] IE8的SDK 下载
- Datawhale--组队学习第12期--python爬虫基础学习---task0/task1环境配置和网页请求基础
- Business Transaction Events BTE 增强
- 爱是一种遇见 一种心疼
- C语言源代码系列-管理系统之学生信息管理系统
- 虚拟机与主机间的文件传输
- [陈天奇]机器学习编译课程学习笔记
热门文章
- kali无法ping通baidu.com
- 解决Win 10桌面 IE 图标消失问题的注册表代码
- Cortex-A 架构
- Wipe In and Wipe Out 抹进、抹出(动画显示、动画隐藏)(展开、折叠)(拉下、收起)
- 如何根据观看距离来确定合适的投影幕布尺寸?
- 【华为机试真题 Python实现】黑板上的数字涂颜色【2022 Q1 Q2 |100分】
- 三星BESPOKE家电系列海外发布会看点一览,定制化设计成未来家居首选
- 七夕节送女朋友什么礼物最好、七夕最走心的礼物清单
- php西游记源码,基于Python第三方插件实现西游记章节标注汉语拼音的方法
- this的五种绑定方式