【shell脚本】条件语句

一、条件测试操作

1.1test命令与 [ ] 符号

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

1.1.1文件测试常用的测试操作符

符号作用
-d测试是否为目录
-e测试是否为目录或文件
-f测试是否为文件
-r测试当前用户是否有读取权限
-w测试当前用户是否有写入权限
-x测试当前用户是否有执行权限

在这里插入图片描述

1.1.2整数比较常用的操作符

英文符号算数符号作用
-eq==等于
-ne!=不等于
-gt>大于
-lt<小于
-ge>=大于等于
-le<=小于等于

在这里插入图片描述

  • 英文符号只能比较整数,而算数号不但可以比较整数,也可以比较字符串
    在这里插入图片描述

1.1.3逻辑操作符

英文符号算数符号作用
-a&&逻辑与“而且”的意思,前后条件都需要成立
-o丨丨逻辑或“或者”的意思,前后条件中成立一个
!逻辑否 ,“取反”的意思

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

  • &&与|| 操作符能正常作用域[[]]条件判断结构中,但是如果出现![在这里插入图片描述]在[]中会报错

在这里插入图片描述

二、if语句结构

2.1单分支结构

语句结构
if # 条件测试操作
then 命令序列
fi

2.1.1单分支实验

(1)判断/opt目录下,有没有test.sh这个文件,如果没有创建

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

2.2双分支结构

语句结构

if (条件测试语句)
then (命令序列1)
else (命令序列2)
fi

2.2.1 双分支实验

判断一个数是奇数还是偶数

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

2.3多分支结构

语句结构

if 条件测试语句
then 命令序列
elif 条件测试操作
then 命令序列2
else
命令序列3
fi

2.3.1多分支实验

在这里插入图片描述

输入一个分数100到80为优秀,60到80良好,60以下为继续努力

在这里插入图片描述

三、case语句

3.1case多分支结构

语句结构

case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
…………
*)
默认命令学历
esac

在这里插入图片描述

3.2case实验


在这里插入图片描述
date的使用

  • date查看当前系统时间
  • -d 你描述的日期,显示指定字符串所描述的时间,而非当前时间
  • %F 完整日期格式,等价于 %Y-%m-%d
  • % T 时间(24小时制)(hh:mm:ss)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

你掌握了stream流的全部新特性吗?

我们知道很早之前java8对于之前的版本更新了许多 新的支持&#xff0c;比如lamda函数式接口的支持&#xff0c;支持更多函数式接口的使用&#xff0c;对链表&#xff0c;数组&#xff0c;队列&#xff0c;集合等实现了Collectio接口的数据结构提供了StreamSupport.stream()支持…

运维监控工具PIGOSS BSM扩展指标介绍

PIGOSS BSM运维监控工具&#xff0c;除系统自带指标外&#xff0c;还支持添加SNMP扩展指标、脚本扩展指标、JMX扩展指标、自定义JDBC指标等&#xff0c;今天本文将介绍如何添加SNMP扩展指标和脚本扩展指标。 添加SNMP扩展指标 前提&#xff1a;需要知道指标的oid 例子&#xff…

如何实现Spring AOP以及Spring AOP的实现原理

AOP:面向切面编程,它和OOP&#xff08;面向对象编程)类似。 AOP组成: 1、切面:定义AOP是针对那个统一的功能的&#xff0c;这个功能就叫做一个切面&#xff0c;比如用户登录功能或方法的统计日志&#xff0c;他们就各种是一个切面。切面是有切点加通知组成的。 2、连接点:所有可…

Redis入门学习笔记【一】

目录 一、Redis是什么 二、Redis数据结构 2.1 Redis 的五种基本数据类型 2.1.1String&#xff08;字符串&#xff09; 2.1.2字符串列表&#xff08;lists&#xff09; 2.1.3字符串集合&#xff08;sets&#xff09; 2.1.5哈希&#xff08;hashes&#xff09; 2.2 Red…

MQTT协议 详解

文章目录 一、啥是MQTT&#xff1f;1. MQTT协议特点2. 发布和订阅3. QoS&#xff08;Quality of Service levels&#xff09;QoS 0 —— 最多1次QoS 1 —— 最少1次QoS 2 —— 只有1次 二、MQTT 数据包结构1. MQTT固定头2. MQTT可变头 / Variable header3. Payload消息体 三、M…

Ceph入门到精通- storcli安装

storcli 是LSI公司官方提供的Raid卡管理工具&#xff0c;storcli已经基本代替了megacli&#xff0c;是一款比较简单易用的小工具。将命令写成一个个的小脚本&#xff0c;会将使用变得更方便。 安装简单&#xff0c;Windows系统下解压出来以后可以直接运行。 Linux系统默认位置…

Android程序员向音视频进阶,有前景吗

随着移动互联网的普及和发展&#xff0c;Android开发成为了很多人的就业选择&#xff0c;希望在这个行业能获得自己的一席之地。然而&#xff0c;随着时间的推移&#xff0c;越来越多的人进入到了Android开发行业&#xff0c;就导致目前Android开发的工作越来越难找&#xff0c…

7.Shuffle详解

1.分区规则 ps."&"指的是按位与运算&#xff0c;可以强制转换为正数 ps."%",假设reduceTask的个数为3&#xff0c;则余数为0&#xff0c;1&#xff0c;2正好指代了三个分区 以上代码的含义就是对key的hash值强制取正之后&#xff0c;对reduce的个数取…

大数据技术之Kafka集成

一、集成Flume 1.1 Flume生产者 &#xff08;1&#xff09;启动Kafka集群 zkServer.sh startnohup kafka-server-start.sh /opt/soft/kafka212/config/server.properties & &#xff08;2&#xff09;启动Kafka消费者 kafka-console-consumer.sh --bootstrap-server 192…

动态内存管理

文章目录 1.动态内存函数1.1free1.2malloc1.3calloc1.4realloc 2.动态内存错误2.1解引用空指针--非法访问内存2.2越界访问动态空间2.3free释放非动态空间2.4free释放部分动态空间2.5free多次释放动态空间2.6未释放动态内存 3.动态内存题目3.1形参不影响实参3.2地址返回&#xf…

APP渗透—查脱壳、反编译、重打包签名

APP渗透—查脱壳、反编译、重打包签名 1. 前言1.1. 其它 2. 安装工具2.1. 下载jadx工具2.1.1. 下载链接2.1.2. 执行文件 2.2. 下载apktool工具2.2.1. 下载链接2.2.2. 测试 2.3. 下载dex2jar工具2.3.1. 下载链接 3. 查壳脱壳3.1. 查壳3.1.1. 探探查壳3.1.2. 棋牌查壳 3.2. 脱壳3…

FVM初启,Filecoin生态爆发着力点在哪?

Filecoin 小高潮 2023年初&#xff0c;Filecoin发文分享了今年的三项重大变更&#xff0c;分别是FVM、数据计算和检索市场的更新&#xff0c;这些更新消息在发布后迅速吸引了市场的广泛关注。 特别是在3月14日&#xff0c;Filecoin正式推出了FVM&#xff0c;这一变革使得Filec…

多维时序 | MATLAB实现BO-CNN-GRU贝叶斯优化卷积门控循环单元多变量时间序列预测

多维时序 | MATLAB实现BO-CNN-GRU贝叶斯优化卷积门控循环单元多变量时间序列预测 目录 多维时序 | MATLAB实现BO-CNN-GRU贝叶斯优化卷积门控循环单元多变量时间序列预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 基于贝叶斯(bayes)优化卷积神经网络-门控循环…

python 基础语法

标准库 语言参考手册 abstract base class – 抽象基类 abc annotation – 标注 类型注解 argument – 函数参数 关键字参数 xxx / **{xxx: , xx: }位置参数 3, 5 / *(3, 5) 基础语法 使用严格缩进 代替 大括号{} 框定代码块 使用反斜杠 \ 将一行的语句分为多行显示 三引…

ENVI 国产高分2号(GF-2)卫星数据辐射定标 大气校正 影像融合

1.数据 高分2号卫星数据&#xff0c;包含&#xff1a; MSS-1\2多光谱数据&#xff0c;4m分辨率&#xff1b; Pan-1\2全色波段数据&#xff0c;0.8m分辨率。 2.处理软件 ENVI5.3 国产插件下载地址&#xff1a;ENVI App Store (geoscene.cn) 首先下载插件文件&#xff1b; …

【STL十四】函数对象(function object)_仿函数(functor)——lambda表达式

【STL十四】函数对象&#xff08;function object&#xff09;_仿函数&#xff08;functor&#xff09;——lambda表达式 一、函数对象&#xff08;function object&#xff09;二、函数对象优点三、分类四、头文件五、用户定义函数对象demo六、std::内建函数对象1、 算术运算函…

【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的Redis延时队列的功能组件

手把手教你如何开发一个属于自己的延时队列的功能组件 前提介绍解决痛点延时队列组件的架构延时队列组件的初始化流程延时队列组件的整体核心类架构延时队列组件的整体核心类功能 延时队列的开发组件延迟队列的机制配置初始化类源码 - DelayedQueueConfigurationRedission客户端…

网络基础,InetAddress,Socket,TCP,UDP

概念&#xff1a;两台设备之间通过网络实现数据运输网络通信&#xff1a;将数据通过网络从一台设备传输到另一台设备java.net包下提供了一系列的类或接口&#xff0c;供程序员使用&#xff0c;完成网络通信网络&#xff1a;两台或多台设备通过一定物理设备连接起来构成了网络根…

文件和用户管理

Linux基础 提示&#xff1a;个人学习总结&#xff0c;仅供参考。 一、Linux系统部署 二、服务器初始化 三、文件和用户管理 四、用户的权限 提示&#xff1a;文档陆续更新整理 文件和用户管理 Linux基础一、Linux目录结构二、文件管理1.文件类型2.文件管理命令 三、用户管理…

为什么医疗保健需要MFT来帮助保护EHR文件传输

毫无疑问&#xff0c;医疗保健行业需要EHR技术来处理患者&#xff0c;设施&#xff0c;提供者等之间的敏感患者信息。但是&#xff0c;如果没有安全的MFT解决方案&#xff0c;您将无法安全地传输患者文件&#xff0c;从而使您的运营面临遭受数据泄露&#xff0c;尴尬&#xff0…