shell编程之条件语句
目录:
1、test命令测试
2、文件测试
3、字符串比较
4、逻辑测试
1、if单分支语句
2、if双分支语句
3、if多分支语句
case多分支语句
一、条件测试
1、test命令测试
测试表达式是否成立,若成立返回0,否则返回其他数值
格式1:test 条件表达式 格式2:【 条件表达式 】 #至少有一个空格
常用的测试操作符
- -eq∶等于(Equal)
- -ne∶ 不等于(Not Equal)
- -gt∶ 大于(Greater Than)
- -It∶ 小于(Lesser Than)
- -le∶ 小于或等于(Lesser or Equal)
- -ge∶ 大于或等于(Greater or Equal)

注:返回0表示成立,非0值表示条件不成立
2、文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
- -d: 测试是否为目录(Directory)
- -e: 测试目录或文件是否存在(Exist)
- -f: 测试是否为文件(File)
- -r: 测试当前用户是否有权限读取(Read)
- -W: 测试当前用户是否有权限写入(Write)
- -x: 测试当前用户是否有权限执行(eXcute)
- -L: 测试是否为符号链接

3、字符串比较
1 格式1
2 【 字符串1 = 字符串2 】
3 【 字符串1 != 字符串2 】
4
5 格式2
6 【 -z 字符串 】 #是否空值
7 【 -n 字符串 】 # 字符集是否存在
常用的测试操作符
- =: 字符串内容相同
- !=: 字符串内容不同,! 号表示相反的意思
- -z: 字符串内容为空

4、逻辑测试
格式1:【 表达式 1 】操作符 【 表达式2 】...
格式2:命令1 操作符 命令2 ...
常用的操作符∶
- -a或&& ∶ 逻辑与,"而且"的意思,前后条件需都成立
- -o或|l∶ 逻辑或,"或者"的意思,只需前后条件中一个成立
- !∶逻辑否


查看主机是死是活

二、if语句的结构
1、单分支结构




2、双分支结构





3、多分支结构




三、case语句的结构
case多分支语句




总结
1、条件测试的语法
文件测试、整数值比较、字符串比较、逻辑测试
2、if条件语句的语法
单分支、双分支、多分支
3、case多分支语句的语法
shell编程之条件语句的更多相关文章
- 02 shell编程之条件语句
Shell编程之条件语句 学习目标: 掌握shell脚本条件测试 掌握if语句编程 目录结构: 条件测试 条件测试概述 l 对特定的条件进行判断,以决定如何执行操作 l 测试的方法 方法1:tes ...
- if语句 条件测试 shell编程之条件语句
shell 编程之条件语句一.条件测试 ① test命令 测试 ② 文件测试 ③ 整数值比较 ④ 字符串比较 ⑤ 逻辑测试二.if语句的结构 单分支结构 双分支结构 多分支结构三.ca ...
- Shell编程之条件语句:if、case语句
Shell编程之条件语句:if.case语句 一.条件测试 1)test命令测试 2)整数值比较 ...
- Linux Shell编程(1): 条件语句
1.if—then#!/bin/bashif date 如果命令运行成功(退出码为0),则then部分的命令被执行then echo "good"fi ...
- Linux - 简明Shell编程05 - 条件语句(Case)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...
- 04 shell编程之循环语句
Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l 读取不同的变量值,以逐个执行同一组命令 l For语句结构 for 变量名 ...
- shell编程之循环语句for / while / until
shell编程之循环语句与函数 一.条件测试 二.循环语句 ① for循环语句结构(遍历) 示例1 示例2 ② while循环语句结构(迭代) 示例1 示例2 ③ until 循环语句结构 示例1 一 ...
- Shell编程之循环语句与echo的用法
Shell编程之循环语句与echo的用法 目录 Shell编程之循环语句与echo的用法 一.echo用法 1. echo常用选项 2. 常用的转义字符 3. 特殊符号%.#的用法 二.循环语句 1. ...
- 转 功能强大的shell:if条件语句
原文 http://blog.zol.com.cn/2322/article_2321767.html 功能强大的shell:if条件语句 if语句测试条件,测试条件返回真(0)或假(1)后,可相应执 ...
随机推荐
- Java 日志框架概述(slf4j / log4j / JUL / Common-logging(JCL) / logback)
一.简介 JAVA日志在初期可能官方并没有提供很好且实用的规范,导致各公司或OSS作者选择自行造轮子,这也导致了目前初学者觉得市面上 Java 日志库繁杂的局面. 现在市面流行以 slf4j(Simp ...
- 【LeetCode】39. 组合总和
39. 组合总和 知识点:递归:回溯:组合:剪枝 题目描述 给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 ...
- python中两种拷贝目录方法的比较
首先是用python自己的api: shutil.copytree('./build/tested/doc', './build/tested/build/doc') 优点是改变平台时不需要修改代码, ...
- cas5.3.1 从搭建到连接mysql(简而优美)
前言: cas是单点登录服务框架,为单点登录业务提供了便捷服务,它分为client,server端,client端要聚合到我们自己的项目. server端要单独构建运行,本篇文章主要讲解一下cas5. ...
- springboot配置ssl-pfx
application.yml server: port: 9443 ssl: key-store: classpath:4148017_qra.meeno.net.pfx key-store-typ ...
- 针对Hbuilderx内置终端无法输入问题,总结了三种方法供大家参考
下图,是内置终端无法输入的现象(本人使用的第三种方案,解决了该问题) 第一种解决方案,也是网上推荐最多的方案: 打开Hbuilder安装路径下插件文件夹中的main.js文件:HBuilderX\pl ...
- C#多线程实践-锁和线程安全
锁实现互斥的访问,用于确保在同一时刻只有一个线程可以进入特殊的代码片段,考虑下面的类: class ThreadUnsafe { static int val1, val2; static void ...
- 消除不受信任的HTML (来防止XSS攻击)
问题 在做网站的时候,经常会提供用户评论的功能.有些不怀好意的用户,会搞一些脚本到评论内容中,而这些脚本可能会破坏整个页面的行为,更严重的是获取一些机要信息,此时需要清理该HTML,以避免跨站脚本cr ...
- redis知识点及常见面试题
redis知识点及常见面试题 参考: https://zm8.sm-tc.cn/?src=l4uLj4zF0NCIiIjRnJGdk5CYjNGckJLQrIqNiZaJnpOWjIvQno2Llpy ...
- 彻底搞懂volatile关键字
对于volatile这个关键字,相信很多朋友都听说过,甚至使用过,这个关键字虽然字面上理解起来比较简单,但是要用好起来却不是一件容易的事.这篇文章将从多个方面来讲解volatile,让你对它更加理解. ...