【Shell编程之条件语句】

news2024/9/23 17:25:06

目录

  • 一、条件测试操作
    • 1、test命令
    • 2、文件测试
      • 2.1、常用的测试操作符
    • 3、整数值比较
      • 3.1、常用的测试操作符(==重点==)
    • 4、逻辑测试
      • 4.1、常用的测试操作符号
  • 二、if语句的结构
    • 1、单分支结构
    • 2、双分支结构
    • 3.多分支结构


一、条件测试操作

1、test命令

测试表达式是否成立,若成立返回0,否则返回其他数值

格式1: test   条件表达式
格式2: [ 条件表达式 ]

2、文件测试

[ 操作符 文件或者目录 ]
echo $?  查看是0还是其他数

2.1、常用的测试操作符

命令解释
-d测试是否为目录(Directory)
-e测试目录或文件是否存在(Exist)
-f测试是否为文件(File)
-r测试当前用户是否有权限读取 (Read)
-w测试当前用户是否有权限写入 (Write)
-x测试当前用户是否有权限执行 (eXcute)

3、整数值比较

[ 整数1  操作符 整数2 ]

3.1、常用的测试操作符(重点

输入字母命令的话只能对整数,不能对操作符

命令解释操作符
-eq等于(Equal)==
-ne不等于(Not Equal)!=
-gt大于(Greater Than).>
-lt小于 (Lesser Than).<
-le小于或等于(Lesser or Equal)>=
-ge大于或等于(Greater or Equal)=<

4、逻辑测试

格式1: [ 表达式1 ] 操作符 [ 表达式2 ]
格式2: 命令1 操作符 命令2

4.1、常用的测试操作符号

-a或&&:逻辑与,”而且“的意思

-o或||:逻辑或,”或者“的意思

!:逻辑否

在这里插入图片描述

二、if语句的结构

1、单分支结构

if 条件测试操作         if  已用空间>80%
  then  命令序列    >    then 报警
fi                     fi  

在这里插入图片描述举例:
判断/opt目录下,有没有这个ky123.sh这个文件,如果没有创建,自动生成

在这里插入图片描述

2、双分支结构

if 条件测试操作          if 80端口是否在监听
   then 命令序列1           then 网站服务已在运行
                    >
                          else  启动httpd服务
   else 命令序列2        fi
fi

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.多分支结构

在这里插入图片描述
使用shell脚本设置分数排行

在这里插入图片描述
在这里插入图片描述

字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4
字号4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/464768.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

同城跑腿APP开发需具备哪些功能?

移动互联网的飞速发展加上人们生活水平的提高&#xff0c;生活工作闲暇之余&#xff0c;人们不愿意为买药、送文件、取东西、送花、排队等小事浪费时间或者是根本没有时间去处理类似的事情。这个时候就想如果能够花钱请人来替我做这些事就好了&#xff0c;于是同城跑腿就在这样…

C/C++中的数据结构对齐,#pragma pack() 和 __attribute__

C/C中的数据结构对齐 总览 数据结构对齐是指在计算机内存中排列和访问数据的方式。它包含三个独立但相关的问题&#xff1a;数据对齐&#xff08;data alignment&#xff09;&#xff0c;数据结构填充&#xff08; data structure padding&#xff09;和打包&#xff08;pack…

根据 vue-grid-layout 动态设置Echarts尺寸大小

文章目录 前言一、vue-grid-layout 是什么&#xff1f;二、正文1.引入vue-grid-layout2.myEcharts组件3. Utils中的debounce防抖函数 总结 前言 此文背景是根据 vue-grid-layout 动态拖拽组件大小里面包含 Echarts 组件情景&#xff0c;也可以单独把监听动态设置Echarts 尺寸抽…

Java文件IO操作基础

目录 前言 java.io.File 1. 构造方法 2. 方法 get类方法 文件的创建和删除 目录的创建与删除 输入输出流 InputStream FileInputStream 概述 代码实例1 代码实例2 字符集问题? Scanner 读取 OutputStream Java输入输出流的使用案例 创作不易, 多多支持&#x1f636;‍&…

C++的异常

文章目录 1. C语言传统的处理错误的方式2. C异常概念3. 异常的使用3.1 异常的抛出和匹配原则 4. C标准库的异常体系5. 自定义异常体系6. 异常的重新抛出7. 函数调用链中异常栈展开匹配原则8. 异常安全9. 异常规范10. 异常的优缺点 1. C语言传统的处理错误的方式 传统的错误处理…

Windows下版本控制器(SVN)-TortoiseSVN使用+权限配置+合并深度介绍+分支介绍

文章目录 基础知识-Windows下版本控制器(SVN)3.4 TortoiseSVN使用3.4.1 SVN检出(SVN Checkout)3.4.2 SVN更新(SVN Update)3.4.3 **SVN**提交(SVN Commit)3.4.4 **SVN**还原(SVN Revert)3.4.5 解决文件冲突3.4.6 授权访问3.4.7 显示日志(Show log)3.4.8 版本库浏览(Repo-browser…

中国社会科学院大学与美国杜兰大学金融管理硕士项目——找寻属于你的那道光

人生的路很长&#xff0c;再不舍过去&#xff0c;也要朝前走。总有一束光在闪耀&#xff0c;总有路在前方。让我们去找寻属于自己的光。这道光或明或暗&#xff0c;或远或近。给自己一个希望&#xff0c;它就是那一束光会撒在你身上&#xff0c;未来会一片灿烂。社科院与杜兰大…

什么是3D渲染,3D渲染在CG项目中为何如此重要?

随着科技的发展&#xff0c;现如今任何人都可以使用免费软件在个人计算机上创作 3D 图像&#xff0c;当然也有人对于专业 3D 艺术的创作方式及其相关工作流程存在一些误解&#xff0c;认为创建一个模型后&#xff0c;在上面放上材料和纹理&#xff0c;就可以立马得到一个漂亮的…

软件测试职业发展方向有哪些

随着人工智能时代的到来&#xff0c;IT行业受到了越来越多人的重视。软件测试作为把控软件质量必不可少的环节&#xff0c;其重要性可见一斑。 据第三方平台统计&#xff0c;北京软件测试工程师的平均薪资为16.2K&#xff0c;除了一线城市外&#xff0c;随着互联网行业逐渐下沉…

虹科新品 | 用于医疗应用的压力和气体流量传感器

ES Systems在创新MEMS方面拥有丰富的经验&#xff0c;设计了高质量和高性能的气体流量和压力传感器&#xff0c;由于其技术规格&#xff0c;出色的可靠性和有竞争力的价格&#xff0c;这些传感器在竞争产品中具有独特的品质。 Part.01 应用背景 众所周知&#xff0c;在医疗领域…

软件测试技术(五)软件测试流程

软件测试流程 软件测试流程如下&#xff1a; 测试计划测试设计测试执行 单元测试集成测试确认测试系统测试验收测试回归测试验证活动 测试计划 测试计划由测试负责人来编写&#xff0c;用于确定各个测试阶段的目标和策略。这个过程将输出测试计划&#xff0c;明确要完成的测…

freeswitch的任务引擎问题与解决方案

概述 freeswitch核心框架中有一个定时任务系统task&#xff0c;在开发过程中用来做一些延时操作和异步操作很方便。 我们在VOIP的呼叫流程中&#xff0c;经常会有一些对实时性要求没那么高的操作&#xff0c;或者会有阻塞流程的操作&#xff0c;我们都可以开启一个定时任务子…

【 Spring 事务 】

文章目录 一、为什么需要事务(简单回顾)二、MySQL 中的事务使⽤三、Spring 中事务的实现3.1 Spring 编程式事务(手动事务)3.2 Spring 声明式事务(自动事务)3.2.1 Transactional 作⽤范围3.2.2 Transactional 参数说明3.2.3 Transactional 不进行事务回滚的情况3.2.4 Transactio…

Android 使用Retrofit+协程实现超简单大文件下载并回显进度条

安卓自带的进度条弹窗过时了&#xff0c;这里简单创建一个进度条弹窗 在drawable文件夹创建progress_dialog_bg_style.xml一个圆角白色背景样式 <?xml version"1.0" encoding"utf-8"?> <shape xmlns:android"http://schemas.android.com…

IPTV系统架构的分析与研究

1 引言   IPTV业务是伴随着宽带互联网的飞速发展而兴起的一项新兴的互联网增值业务,它利用宽带互联网的基础设施&#xff0c;以家用电视机和电脑作为主要终端 &#xff0c;利用网络机顶盒(STB,Set -TopBox) &#xff0c;通过互联网协议来传送电视信号.提供包括 电视节 目在 内…

嵌入式51单片机05-中断与定时器系列

文章目录 中断与定时器一、中断系统与定时器1. 中断简单介绍2. 定时器简单介绍 二、中断系列代码1. 中断操作&#xff08;中断控制LED灯亮灭&#xff09;&#xff08;1&#xff09;仿真电路图&#xff08;2&#xff09;源代码&#xff08;3&#xff09;实验结果 2. 中断操作&am…

c++强制类型转换:

强制类型转换&#xff1a;1. const属性用const_cast。 案例&#xff1a; 说明&#xff1a;该变量可以将变量的const 的属性去掉。如该案例&#xff0c;转换后修改x的值是合法的。2. 基本类型转换用static_cast。 案例&#xff1a; 说明&#xff1a;一般用在(1)基本类型&#xf…

新黑马头条项目经验(黑马)

swagger (1)简介 Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(API Documentation & Design Tools for Teams | Swagger)。 它的主要作用是&#xff1a; 使得前后端分离开发更加方便&#xff0c;有利于团队协作 接…

微服务知识

Spring Cloud Netfix&#xff1a;Eureka&#xff0c;Ribbon&#xff0c;Feign&#xff0c;Hystrix&#xff0c;Zuul | Gateway&#xff0c;Config Spring Colud Alibaba&#xff1a;Nacos&#xff0c;Sentinel&#xff0c;Seata Nacos通过Ribbon实现负载均衡&#xff0c;Ribb…

【java笔记】java多线程

目录 一、概念 1.1 什么是进程&#xff1f; 1.2 什么是线程&#xff1f; 1.3 什么事多线程&#xff1f; 1.4 进程和线程的关系 二、线程对象的生命周期 三、实现线程有两种方式 3.1 继承 java.lang.Thread&#xff0c;重写 run方法 3.2 实现 java.lang.Runnable 接口…