xshell脚本之条件语句

1、test命令:

如果test命令中列出的条件成立,test命令就会退出并返回状态码0,

如果条件不成立,test命令就会退出并返回非零的退出状态码,这使得if-then语句不会再被执行

格式:

格式1:	test 条件表达式
格式2: [ 条件表达式 ]
常用操作符 说明
-d 测试是否为目录
-e 测试目录和文件是否存在
-f 测试是否为文件
-r 测试当前用户是否有读权限
-w 测试当前用户是否有写权限
-x 测试当前用户是否有执行权限

2、整数值比较:

格式:

[ 整数1 操作符 整数2 ]

  

常用操作符 说明
-eq 等于
-ne 不等于
-lt 小于
-gt 大于
-le 小于或等于
-ge

大于或等于

3、字符串比较:

格式:

[ 字符串1 = 字符串2 ] 			判断是否相等
[ 字符串1 != 字符串2 ] 判断是否不等
常用操作符 说明
= 字符串内容相同
!= 字符串内容不同 
-z 字符串内容为空
-n

检查是否有字符串存在

4、逻辑测试:

格式:

格式1∶	[ 表达式1 ] 操作符 [ 表达式2 ]…
格式2∶ 命令1 操作符 命令2…
常用操作符 说明
-a或&& 逻辑与,而且的意思
-o或▕▕ 逻辑或,或者的意思
逻辑否

5、if语句:

a)单分支结构

格式:

if [ 条件判断式 ]; than
当条件判断成立时,可以进行的命令工作内容
fi 这里将if反过来写,结束if语句的意思

b)双分支结构:

格式:

if [ 条件判断式 ]; than
当条件判断成立时,可以进行的命令工作内容
else
当条件判断不成立时,可以进行的命令工作内容
fi

 

c)多分支结构:

格式:

if [ 条件判断式 ]; than
当条件判断成立时,可以进行的命令工作内容
elif [ 条件判断式二 ]; than
当条件判断成立时,可以进行的命令工作内容
else
当上面的条件判断都不成立时,可以进行的命令工作内容
fi

  

6、case语句:

格式:

case 变量名称 in
“第一个变量内容”
程序段
;;
“第二个变量内容”
程序段
;;
*)
不包含第一个变量内容与第二个变量内容的其他程序执行段
默认程序段
;;
esac

  

case语句注意事项:

  1. case行首必须以单词“in”,每一模式必须以单个右括号")"结束
  2. 双分号";;"表示命令序列的结束
  3. 模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以使用竖杠|表示或,比如a|b

  

xshell脚本之条件语句的更多相关文章

  1. shell脚本中的case条件语句介绍和使用案例

    #前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,ca ...

  2. shell脚本进阶之条件测试与条件语句

       接着上篇博客,今天整理一下关于条件测试和条件语句方面的知识. shell脚本进阶之条件测试    在编写shell脚本时,经常需要对一些条件进行判断,可以使用测试命令test辅助完成测试过程.t ...

  3. Linux就该这么学--Shell脚本条件语句(二)

    1.for条件语句 先读取多个不同的变量值,然后逐一执行同一组命令. 从列表文件中读取主机地址,逐个测试是否在线. 从ipadds.txt中读取主机地址后赋值给HLIST变量后逐个ping列表中的主机 ...

  4. Linux就该这么学--Shell脚本条件语句(一)

    1.条件测试语句能够让Shell脚本根据实际工作灵活调整工作内容,例如判断系统的状态后执行指定的工作,或创建指定数量的用户,批量修改用户密码,这些都可以让Shell脚本通过条件测试语句完成. if条件 ...

  5. shell脚本中的if条件语句介绍和使用案例

    #前言:在生产工作中if条件语句是最常使用的,如使用来判断服务状态,监控服务器的CPU,内存,磁盘等操作,所以我们需要熟悉和掌握if条件语句. #简介 if条件语句,简单来说就是:如果,那么.有if单 ...

  6. Shell脚本的条件控制和循环语句

    条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...

  7. shell 脚本之判断语句 if 详解

    使用 Linux 系统这么长时间,对 shell 脚本也算是比较熟悉.其实不管是搞开发,还是搞运维,shell 脚本都是必备的基本技能.这次抽时间好好总结一下 shell 方面的知识,综合的再学习一下 ...

  8. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  9. Todd's Matlab讲义第4讲:控制误差和条件语句

    误差和残量 数值求解方程\(f(x)=0\)的根,有多种方法测算结果的近似程度.最直接的方法是计算误差.第\(n\)步迭代结果与真值\(x^\*\)的差即为第\(n\)步迭代的误差: \begin{e ...

随机推荐

  1. 『无为则无心』Python函数 — 31、命名空间(namespace)

    目录 1.什么是命名空间 2.三种命名空间 3.命名空间查找顺序 4.命名空间的生命周期 5.如何获取当前的命名空间 1.什么是命名空间 命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名 ...

  2. 为什么要避免在 Go 中使用 ioutil.ReadAll?

    原文链接: 为什么要避免在 Go 中使用 ioutil.ReadAll? ioutil.ReadAll 主要的作用是从一个 io.Reader 中读取所有数据,直到结尾. 在 GitHub 上搜索 i ...

  3. Java如何打好牢固的基础?

    如果纯粹是为了学Java,那么不建议阅读本文,因为本文不是从理论和教科书的角度讲述如何打好java基础,而是会从"快速用java挣钱"这个角度,讲边学.边做项目和边提升的方法. 在 ...

  4. python float运算时存在浮点误差,结果小数点带.00002及解决方法

    背景: 返回一个json字符串,result结果里面嵌套多个内容一样,只有具体数据不一样的列表[字典],现在需要从里面取指定的key值,来计算最后的总额. 原来使用的类型,float 通过取到json ...

  5. Python_PyYaml模块的使用

    YAML是一种比XML和JSON更轻的文件格式,也更简单更强大,它可以通过缩进来表示结构. 模块安装 pip install pyyaml # 如果是py2,使用 pip install yaml P ...

  6. 初识python 之 爬虫:使用正则表达式爬取“古诗文”网页数据

    通过requests.re(正则表达式) 爬取"古诗文"网页数据. 详细代码如下: #!/user/bin env python # author:Simple-Sir # tim ...

  7. Linux_无法解析域名

    现象如下:ping baidu.com不通,但是ping 114.114.114.114能通 产生的问题:无法使用 wget下载包 解决方法:增加DNS配置. 注:配置的域名解析地址必须能Ping通.

  8. 默认安装的phpMyAdmin会存在哪些安全隐患

    利用:  1. 利用慢查询日志写入webshell          2. phpMyAdmin的setup目录暴露一些隐私信息          3. 通过phpMyAdmin修改php的ini配置 ...

  9. Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  10. 超详细的编码实战,让你的springboot应用识别图片中的行人、汽车、狗子、喵星人(JavaCV+YOLO4)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...