shell(三)if流程控制
流程控制
if 流程控制
基本语法
- 单分支结构 - if [];then
 fi
 
- 两分支结构 - if [];then
 else
 fi
 
- 多分支结构 - if [];then
 elif[];then
 elif[];then
 else
 fi
 
简单使用
- 文件比较 - 参数 - 说明 - 示例 - -e - 如果文件或者目录存在则为真 - [-e file] - -s - 如果文件存在且至少有一个字符则为真 - [-s file] - -d - 如果文件存在且为目录则为真 - [-d file] - -f - 如果文件存在且为普通文件则为真 - [-f file] - -r - 如果文件存在且可读则为真 - [-r file] - -w - 如果文件存在且可写则为真 - [-w file] - -x - 如果文件存在且可执行则为真 - [-x file] 
- 整数比较 - 参数 - 说明 - 示例 - -eq - 等于且条件为真 - [1 -eq 10] - -ne - 不等于则条件为真 - [1 -ne 10] - -gt - 大雨则条件为真 - [1 -gt 10] - -lt - 小于则条件为真 - [1 -lt 10] - -ge - 大于等于则条件为真 - [1 -ge 10] - -le - 小于等于则条件为真 - [1 -le 10] 
- 字符串比较 - 参数 - 说明 - 示例 - == - 等于则条件为真 - ["$a"=="$b"] - != - 不等于则条件为真 - ["$a"!="$b"] - -z - 字符串长度为零则为真 - [-z "$a"] - -n - 字符串长度不为空则为真 - [-n "$a"] - str1>str2 - Str1>str2为真 - [str1>str2] - str1<str2 - Str1<str2为真 - [str1<str2] 
- 正则比较 - 1.单括号不支持正则比较 - [ "$USER" =~ ^r ]; echo $?
 输出:1
 - 2.双中括号才可以使用正则比较 - [[ "$USER" =~ ^r ]]; echo $?
 输出:0
 
练习题
- 判断服务是否启动
- 查看内存或者磁盘使用情况,如果超过80%,则发邮件报警
- 根据学生录入成绩判断学生成绩优劣
- 判断变量是不是全是数字
shell(三)if流程控制的更多相关文章
- Shell命令和流程控制
		Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ... 
- shell脚本之流程控制
		shell脚本之流程控制 shell脚本之流程控制 条件语句 条件判断 循环语句for,while,until for循环 while循环 until循环 循环控制语句continue 循环控制语 ... 
- Java04-Java语法基础(三)流程控制
		Java04-Java语法基础(三)流程控制 一.数据类型的转换 1.自动转换:在赋值运算中,占字节数大的类型会自动向字节小的类型转换 double d1 = 3.14; int t1 = d1; 2 ... 
- Excel VBA入门(三) 流程控制1-条件选择
		VBA中的流程控制分为两种,其一是条件结构式的,即根据条件判断的结果去选择性执行相应的语句(块):另一种是循环,即循环地执行语句(块).本节介绍第一种. 1. IF if 语句其实包含有几种形式: ① ... 
- 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!
		http://blog.csdn.net/xiaominghimi/article/details/7603003 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ... 
- Python基础(三)--流程控制之if、while、for,break与continue
		一.流程控制之if……else…… if语句是指编程语言中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一 if 条件1: 缩进的代码块 elif 条件2: 缩进的代码 ... 
- Shell(三)流程控制
		Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { ... 
- Shell test命令/流程控制
		Shell test命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数,说明 -eq等于则为真 -ne不等于则为真 -gt 大于则 ... 
- Shell命令和流程控制[linux常用命令的使用]
		在shell脚本中使用三类命令: unix命令 概念:管道.重定向.backtick 流程控制 1 unix命令 echo "some text":在屏幕上输出信息 ls:文件列表 ... 
- Shell脚本学习 - 流程控制和函数
		继续Shell的学习.上两篇是关于基本数据类型,基本语法以及运算符相关,这一篇是流程控制相关(if, for, while) 流程控制 if else 流程控制不可为空,如果else没有语句执行,就不 ... 
随机推荐
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 3: invalid start byte错误解决办法
			这类错误的原因是编码造成的,通常情况下都是utf-8编码,这需要变换一下,改成encoding="ISO-8859-1"即可: file = pd.read_csv("/ ... 
- C# winform窗体简单保存界面控件参数到xml
			引用网上的 XMLHelper 地址 :https://www.cnblogs.com/chnboy/archive/2009/04/02/1427652.html 稍做修改 using System ... 
- ASP.NET Core MVC 中两种路由的简单配置
			1.全局约定路由 这种方式配置优先级比较低,如果控制器或者方法上标记了特性路由那么优先走特性路由. 当建立好一个mvc项目里,路由都是默认配置好的. 如果建立的是空项目那么需要手动配置: 1.需要在C ... 
- drf--搜索、过滤、排序组件
			目录 drf--搜索.过滤.排序组件 过滤 DjangoFilterBackend 自定义过滤器django-filter模块 自定义过滤类 搜索SearchFilter 排序OrderingFilt ... 
- 浅谈Spring解决循环依赖的三种方式
			引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ... 
- INS-35178错误,AMM及ASMM区别
			遇到这个报错,就使用asmm 一般先装库,再opatch到最新补丁,最后dbca建库,物理内存大于4G不能用AMM只能用ASMM 内存越大,全自动管理就越费劲,出错概率就越高,内存抖动 oracle的 ... 
- MySQL Error--InnoDB Table mysqlinnodb_index_stats has length mismatch in the column
			使用MySQL 5.7.24版本的安装文件替换MySQL 5.7.19版本的安装文件,数据库复制频繁中断,查看error日志发现下面错误: [Warning] InnoDB: Table mysql/ ... 
- Compute Shader基础
			ComputeShader: GPGPU:General Purpose GPU Programming,GPU通用计算,利用GPU的并行特性.大量并行无序数据的少分支逻辑适合GPGPU.平台 ... 
- 数据分析——python基础
			前言:python数据分析的基础知识,简单总结,主要是为了方便自己写的时候查看(你们可能看不太清楚T^T),发现有用的方法,随时补充,欢迎指正 数据分析专栏: 数据分析--python基础 数据分析- ... 
- java.time.format.DateTimeParseException: Text '2019-10-11 12:30:30' could not be parsed at index 10
			java.time.format.DateTimeParseException: Text '2019-10-11 12:30:30' could not be parsed at index 10 ... 
