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)后,可相应执 ...
随机推荐
- Vue-Router 详细解析学习
首先还是先创项目 然后选择vue-router 再创建 再敲代码学习前,我们先了解什么是路由? 路由有一个非常重要的概念就是路由表: 本质就是一个映射表,决定数据的指向. 我们生活中常常听到的路由器, ...
- CTF_论剑场_Web20
直接上脚本,多跑几次就能出flag import requests import re url = "http://123.206.31.85:10020/" s = reques ...
- postman 常见异常问题的处理
1.postman一直转圈打不开的问题 一般这种问题是因为缓存过多,所以这里需要清理下缓存文件,即:删除%appdata%目录下的postman文件,删除之后可恢复正常. 这个文件夹是隐藏的,对于文件 ...
- 线性代数期末大总结I
行列式 n阶行列式的计算: \[\left|\begin{matrix}a_{11} & a_{12} & \cdots & a_{1n} \\a_{21} & a_{ ...
- 前端人员必会工具-apipost两分钟上手(2分钟玩转apipost)
本文通过简单介绍如何利用ApiPost调试接口和快速的生成接口文档,让您初步体验ApiPost的魅力! 1. API写完想要测试?试试模拟发送一次请求 新建接口,我想模拟发送请求如下 curl --l ...
- 【XXE学习】XML外部实体注入
一.XML外部实体注入介绍 1.1 XXE简介 XML外部实体注入(XML External Entity Injection)也就是人们(mian shi guan )常说的XXE啦,见名知意,就是 ...
- noip36
开场先看一遍题面,凭着错误的感觉t3叫naive是一个原因,312开局.然后就死的很惨. T1 朴素暴力40pts,细想就有80pts,然而我只写了十分钟左右就爬回T3了,所以... 其实都是借口 正 ...
- noip23
T1 好吧,题目很sb,描述告诉你序列无限长,输入格式里告诉你m为序列长度,我:????,选择了相信后者.然后连暴力都挂分,可恶 这题一看就是个毒瘤数据结构题,思索了一下,发现就是个线段树,但我又想到 ...
- redis缓存穿透,缓存击穿,缓存雪崩
缓存穿透 缓存穿透是指用户查询数据,在数据库没有,自然在缓存中也不会有.这样就导致用户查询的时候,在缓存中找不到,每次都要去数据库再查询一遍,然后返回空(相当于进行了两次无用的查询).这样请求就会绕过 ...
- wpf 中 theme 的使用 和 listview 模板的使用.
theme 文件 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentatio ...