Shell编程之条件语句:if、case语句
时间:2021-07-16
本文章向大家介绍Shell编程之条件语句:if、case语句,主要包括Shell编程之条件语句:if、case语句使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Shell编程之条件语句:if、case语句
一、条件测试
Shell环境根据命令执行后的返回状态值($?) 来判断是否执行成功。
当返回值为0(真true)时表示成功,返回值为非0值(假false) 时表示失败或异常。
test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立($?返回值为0表示条件成立)。
测试表达式是否成立,若成立返回值为0,非0值表示条件不成立。
格式1:test 条件表达式 格式2:【 条件表达式 】 #方括号【“或”】与条件表达式之间需要至少一个空格进行分割
例:
【 整数1 操作符 整数2 】
常用的测试操作符
-eq | 等于(Equal) |
-ne | 不等于(Not Equal) |
-gt | 大于(Greater Than) |
-lt | 小于(Lesser Than) |
-le | 小于或等于(Lesser or Equal) |
-ge | 大于或等于(Greater or Equal) |
例:
【 操作符 文件或目录 】
常用的测试操作符
-d | 测试是否为目录(Directory) |
-e | 测试目录或文件是否存在(Exist) |
-f | 测试是否为文件(File) |
-r | 测试当前用户是否有权限读取(Read) |
-W | 测试当前用户是否有权限写入(Write) |
-X | 测试当前用户是否有权限执行(eXcute) |
-L | 测试是否为符号链接 |
例:
-f
-d
-e
-x
格式1 【 字符串1 = 字符串2 】 【 字符串1!= 字符串2 】 格式2 【 -z 字符串 】是否空值
【 -n 字符串 】#检查是否有字符串存在
常用的测试操作符
= | 字符串内容相同 |
! | 字符串内容不同,!号表示相反的意思 |
-z | 字符串内容为空 |
-n | 字符串是否存在 |
例:
格式1 【 表达式1 】 操作符 【 表达式2 】 格式2 命令1 操作符 命令2
常用的测试操作符
-a或&& | 逻辑与,"而且"的意思,前后条件需都成立 |
-o或|| | 逻辑或,"或者"的意思,只需前后条件中一个成立 |
! | 逻辑否 |
&&、||操作符能够正常存在于【【】】条件判断结构中,但是如果出现在【】结构中的话,会报错。
例:
||
二、if语句
if 条件测试操作 then 命令序列 fi
例:
验证
if 条件测试操作 then 命令序列1 else 命令序列2 fi
例:
验证
if 条件测试操作1 then 命令序列1 elif 条件测试操作2 then 命令序列2 else 命令序列3 fi
例:
验证
三、case语句
语法结构
case 变量值 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认命令序列 esac
例:
验证
原文地址:https://www.cnblogs.com/BokeGai/p/15018489.html
- c++/c 获取cpp文件行号跟文件名
- 零基础学编程042:画函数图像
- C-SATS工程副总裁教你如何用TensorFlow分类图像 part2
- C++11 Lambda表达汇总总结
- TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)
- C++虚析构函数解析
- C-SATS工程副总裁教你如何用TensorFlow分类图像 part1
- 帝国cms文章页调用当前文章URL如何操作?
- dedecms文章页调用地址(当前文章URL)如何操作?
- 饭团开通一周,3人学会了比特币操作
- Sample K算法
- C#读取“我的文档”等特殊系统路径及环境变量
- winform CheckedListBox实现全选/全不选
- 机器学习该如何入门
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 《深入浅出SQL》问答录
- Python_字典实现简单预约系统
- java_二维数组简单快递系统
- RabbitMQ六种工作模式
- Java生成随机姓名、性别和年龄
- 商业数据分析从入门到入职(8)Python模块、文件IO和面向对象
- 7.13论坛常见问题以及解决办法
- 移植SDL到JZ2440显示BMP图片
- Vue图片验证码-自定义组件高级版
- Angular页面调试一个有用的小技巧 - normalizeDebugBindingName和normalizeDebugBindingValue
- 19个JS超有用的简写技巧
- 【教程】移植web server到Ubuntu就是这么简单!
- 为什么采用Proxy重构响应系统 | Vue3源码系列
- 制作Linux嵌入式系统开机LOGO(图片)
- R语言奇淫巧技之pdftools包