Shell编程之条件语句:if、case语句
Shell编程之条件语句:if、case语句
一、条件测试
Shell环境根据命令执行后的返回状态值($?) 来判断是否执行成功。
当返回值为0(真true)时表示成功,返回值为非0值(假false) 时表示失败或异常。
test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立($?返回值为0表示条件成立)。
1)test命令测试
测试表达式是否成立,若成立返回值为0,非0值表示条件不成立。
格式1:test 条件表达式 格式2:【 条件表达式 】 #方括号【“或”】与条件表达式之间需要至少一个空格进行分割
例:

2)整数值比较
【 整数1 操作符 整数2 】
常用的测试操作符
| -eq | 等于(Equal) |
| -ne | 不等于(Not Equal) |
| -gt | 大于(Greater Than) |
| -lt | 小于(Lesser Than) |
| -le | 小于或等于(Lesser or Equal) |
| -ge | 大于或等于(Greater or Equal) |
例:

3)文件测试
【 操作符 文件或目录 】
常用的测试操作符
| -d | 测试是否为目录(Directory) |
| -e | 测试目录或文件是否存在(Exist) |
| -f | 测试是否为文件(File) |
| -r | 测试当前用户是否有权限读取(Read) |
| -W | 测试当前用户是否有权限写入(Write) |
| -X | 测试当前用户是否有权限执行(eXcute) |
| -L | 测试是否为符号链接 |
例:
-f

-d

-e

-x

4)字符串比较
格式1
【 字符串1 = 字符串2 】
【 字符串1!= 字符串2 】
格式2
【 -z 字符串 】是否空值
【 -n 字符串 】#检查是否有字符串存在
常用的测试操作符
| = | 字符串内容相同 |
| ! | 字符串内容不同,!号表示相反的意思 |
| -z | 字符串内容为空 |
| -n | 字符串是否存在 |
例:

5)逻辑测试
格式1
【 表达式1 】 操作符 【 表达式2 】
格式2
命令1 操作符 命令2
常用的测试操作符
| -a或&& | 逻辑与,"而且"的意思,前后条件需都成立 |
| -o或|| | 逻辑或,"或者"的意思,只需前后条件中一个成立 |
| ! | 逻辑否 |
&&、||操作符能够正常存在于【【】】条件判断结构中,但是如果出现在【】结构中的话,会报错。
例:

||

二、if语句
1)单分支结构
if 条件测试操作 then 命令序列 fi
例:

验证

2)双分支结构
if 条件测试操作 then 命令序列1
else 命令序列2 fi
例:

验证

3)多分支语句
if 条件测试操作1 then 命令序列1 elif 条件测试操作2 then 命令序列2 else 命令序列3 fi
例:

验证

三、case语句
语法结构
case 变量值 in 模式1)
命令序列1
;;
模式2)
命令序列2
;;
*)
默认命令序列
esac
例:

验证

Shell编程之条件语句:if、case语句的更多相关文章
- 02 shell编程之条件语句
Shell编程之条件语句 学习目标: 掌握shell脚本条件测试 掌握if语句编程 目录结构: 条件测试 条件测试概述 l 对特定的条件进行判断,以决定如何执行操作 l 测试的方法 方法1:tes ...
- if语句 条件测试 shell编程之条件语句
shell 编程之条件语句一.条件测试 ① test命令 测试 ② 文件测试 ③ 整数值比较 ④ 字符串比较 ⑤ 逻辑测试二.if语句的结构 单分支结构 双分支结构 多分支结构三.ca ...
- Shell脚本的条件控制和循环语句
条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...
- Shell脚本之for循环、while循环,if语句、case语句
1. for循环一般格式: 格式1: for((条件)) do 动作 done 格式2: for 变量名 in 范围 do 动作 done1234567891011121314实验:##1. 输出数字 ...
- ORACLE PL/SQL 实例精解之第五章 条件控制:CASE语句
5.1 CASE语句 1. CASE语句具有如下结构 CASE SELECTOR WHEN EXPRESSION 1 THEN STATEMENT 1; WHEN EXPRESSSION 2 THEN ...
- shell编程2 ---条件判断语句
shell编程2 一.条件判断语句 1.按照文件类型进行判断 eg:test -e /etc/passwd 或者 [ -e /etc/passwd ] &&echo yes || ...
- 关于shell脚本——条件测试、if语句、case语句
目录 一.条件测试 1.1.表达说明 1.2.test命令 文件测试 1.3.整数值比较 1.4.字符串比较 1.5.逻辑测试 二.if语句 2.1.单分支结构 2.2.双分支结构 2.3.多分支结构 ...
- shell编程之条件语句
目录: 一.条件测试 1.test命令测试 2.文件测试 3.字符串比较 4.逻辑测试 二.if语句 1.if单分支语句 2.if双分支语句 3.if多分支语句 三.case语句 case多分支语句 ...
- shell脚本学习—条件测试和循环语句
条件测试 1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假, 则命令的Exit Status为1(注意与 ...
随机推荐
- 无人驾驶汽车发展需要激光雷达和V2X技术
无人驾驶汽车发展需要激光雷达和V2X技术
- ResNet网络的训练和预测
ResNet网络的训练和预测 简介 Introduction 图像分类与CNN 图像分类 是指将图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法,是计算机视觉中其他任务,比如目标检测 ...
- TensorFlow分布式(多GPU和多服务器)详解
本文介绍有关 TensorFlow 分布式的两个实际用例,分别是数据并行(将数据分布到多个 GPU 上)和多服务器分配. 玩转分布式TensorFlow:多个GPU和一个CPU展示一个数据并行的例子, ...
- deepstream-开放式实时服务器
deepstream-开放式实时服务器 deepstream是一款开源服务器,其灵感来自金融交易技术背后的概念.它允许客户端和后端服务同步数据.发送消息并以非常高的速度和规模规划rpc. 参考:htt ...
- NVIDIA TensorRT高性能深度学习推理
NVIDIA TensorRT高性能深度学习推理 NVIDIA TensorRT 是用于高性能深度学习推理的 SDK.此 SDK 包含深度学习推理优化器和运行时环境,可为深度学习推理应用提供低延迟和高 ...
- Task06:综合练习
练习一: 各部门工资最高的员工(难度:中等) 创建Employee 表,包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id. +----+-------+--- ...
- 这应该是把Java内存区域讲的最清楚的一篇文章
基本问题: 介绍下 Java 内存区域(运行时数据区) Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么) 对象的访问定位的两种方式(句柄和直接指针两种方式) 拓展问题: ...
- 数据泵导出报错ORA-31693 ORA-02354 ORA-01466
1.Oracle数据泵导出schema时有报错: Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - P ...
- FTP下载文件时拒绝登陆申请怎么办?
1.有时候用网页登陆FTP无法下载文件,如下图 2.这时候就需要用文件夹登陆FTP,(打开我的电脑,然后输入ftp://10.2.41.31.如下图 然后就可以下载文件了
- Springboot集成Spring Security实现JWT认证
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 Spring Security作为成熟且强大的安全框架,得到许多大厂的青睐.而作为前后端分离的SSO方案,JWT ...