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没有语句执行,就不 ...
随机推荐
- Jmeter使用笔记1
1.简介 jmeter 是一款专门用于功能测试和压力测试的轻量级测试开发平台.多数情况下是用作压力测试,该测试工具在阿里巴巴有着广泛的使用. 2.安装 下载apache-jmeter-3.1.rar; ...
- WPF 精修篇 静态资源
原文:WPF 精修篇 静态资源 在WPF中 如果设置好了一个控件样式或者矩形样式 如果Copy出一个新的 那么样式也会双份 比如 下面的矩形 我定义好了一个 Copy 以后 就出现一个新的 但是改变样 ...
- Markdown温故知新(1):Markdown面面观
1.什么是 Markdown? 2.有哪些人在用 Markdown? 3.用 Markdown 的优势是什么? 4.Markdown 的语法标准简介 5.怎么用 Markdown? 6.如何选择 Ma ...
- 用javascript写了一个模拟阅读小说的程序
<html> <meta http-equiv="content-type" content="text/html; charset=UTF-8&quo ...
- Java中assert(断言)的使用
Java中assert(断言)的使用 1.Eclipse中默认assert(断言)是关闭,开启方式如下: 简单来说:就是设置一下jvm的参数,参数是-enableassertions或者-ea(推荐) ...
- APICloud项目纪要
一.页面之间的传递参数通过pageParam传递参数: api.openWin({ name: 'ware', url: './ware.html', pageParam: { wareId: 'w1 ...
- iOS开发使用Xcode的一些小技巧
1.打开iOS项目 如果你当前目录下既有project又有workspace,你可以在终端使用命令“xed.”自动打开workspace,如果只有project,它会自动打开project. 2.清理 ...
- Android开发之EditText多行文本输入
<EditText android:id="@+id/add_content" android:layout_width="fill_parent" an ...
- 3.redis 都有哪些数据类型?分别在哪些场景下使用比较合适?
作者:中华石杉 面试题 redis 都有哪些数据类型?分别在哪些场景下使用比较合适? 面试官心理分析 除非是面试官感觉看你简历,是工作 3 年以内的比较初级的同学,可能对技术没有很深入的研究,面试官才 ...
- window配合虚拟机VMware搭建虚拟ubuntu服务器入坑集锦
1.VMware虚拟机和主机进行网络连接设置 https://jingyan.baidu.com/article/adc81513b86621f723bf7383.html 2.解决linux虚拟机与 ...