shell条件测试语句

news2024/11/16 13:55:25

条件测试:

$? 返回码

判断命令或者脚本是否执行成功

为0 true 为真就是成功

非0 fales 失败或者异常

test命令

可以进行条件测试,然后根据返回值来判断条件是否成立

-e :测试文件或者目录是否存在

-d :只能测试目录是否存在

-f :只能测试文件是否存在

-r :测试当前用户是否对文件/目录有读权限

-w :测试当前用户是否对文件/目录有写权限

-x :测试当前用户是否对文件/目录有执行权限

整数比较符

(以下操作符只能用于整数比较)

-eq 等于

-ne 不等于

-gt 大于  

-lt 小于  

-ge 大于等于  

-le 小于等于  

比较符变种写法:

==   等于,该写法既可以比较整数,也可以比较字符串

!= 不等于  

>  大于

<  小于

>=   大于等于  

<=  小于等于  

条件测试表达式

第一种:[ ]

第二种(建议使用):

[[ ]] 可以使用更高级的模式,可以使用正则表达式,而且,在双中括号当中,使用字符串的时候可以不加引号

第三种:

(())运算符

逻辑与逻辑或

与 && 条件都满足才成立 -a

或 || 有一个条件满足就成立 -o

if语句

格式:

if [ 条件测试语句 ]

then +命令序列。 只有条件测试语句成立,才会执行then的命令

elif [ 条件测试语句 ] ,用于多分支结构,

else  +命令序列上面条件都不满足时,执行该命令 ,双分支结构

fi 结束语句

单分支结构

条件满足执行then

双分支结构

条件满足执行then

条件不满足执行else

练习1:

练习2:

多分支结构

如果if条件不满足,则看下一个elif条件,还不满足,再看下一个elif条件...

都不满足最后执行else命令

练习:

嵌套式if语句

嵌套式if语句中第一层if条件满足才会执行第二层if,每一层都有对应的fi结束语句

例:在上面多分支练习中加一条整数判断

&> /dev/null :将输出结果全部重定向到/dev/null/dev/null 有一个非常有用的特性:它会立即丢弃所有写入它的数据,也被称为“数据黑洞”。这样将ping的结果重定向到/dev/null,就不会在终端上显示

case语句

练习:

用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录

习题:

1.检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限

2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,

大于10秒的都淘汰,

如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别。

男生进男生组,女生进女生组,如果输入错误请提示错误

3.提示用户输入内容,使用if 语句判断输入的内容是否为整数。判断范围0-100。

根据上一题再判断输入的内容是奇数还是偶数

4.用case语句控制 firewalld start|stop|restart|status 来管理firewalld服务,

要求如果命令选项不对,则提示输入不正确: {start|stop|status|restart}

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

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

相关文章

酸纯化器酸蒸馏器提取系统亚沸腾高纯酸蒸馏硝酸盐酸氢氟酸

一、产品简介 酸纯化器&#xff1a;亦称高纯酸蒸馏纯化器、酸蒸馏器、亚沸腾蒸馏装置&#xff0c;简称酸纯化器(南京-瑞尼克-科技)是超净化实验产品&#xff0c;后期提取的高纯酸、高纯水可以配套我们公司Teflon系列的器皿使用。 二、工作原理 酸纯化器是利用热辐射原理&…

Mac清理系统数据小技巧,告别卡顿烦恼 苹果电脑清理内存怎么清理

任何使用Mac的用户都会同意&#xff1a;没有什么比一台运行缓慢的电脑更能消磨人的耐心了。那些无休止的彩球旋转、程序响应迟缓、突然的系统冻结&#xff0c;这一切都让人想抓狂&#xff01;但别担心&#xff0c;这里有一些简单的Mac清理系统数据小技巧和CleanMyMac X的神助攻…

Codeforces Round 954 (Div.3)

传送门 A. X Axis 时间限制&#xff1a;2秒 空间限制&#xff1a;256MB 输入&#xff1a;标准输入 输出&#xff1a;标准输出 问题描述 你有三个位于 X 轴上的整数坐标点 , 和 &#xff08;其中 &#xff09;。你可以选择 X 轴上任意一个整数坐标点 …

Windows环境如何ssh远程连接本地局域网内的Archcraft系统

文章目录 前言1. 本地SSH连接测试2. Archcraft安装Cpolar3. 配置 SSH公网地址4. 公网远程SSH连接小结 5. 固定SSH公网地址6. SSH固定地址连接 前言 本文主要介绍如何在Archcraft系统中安装Cpolar内网穿透工具,并以实现Windows环境ssh远程连接本地局域网Archcraft系统来说明使用…

区块链实验室(37) - 交叉编译百度xuperchain for arm64

纠结了很久&#xff0c;终于成功编译xuperchain for arm64。踩到1个坑&#xff0c;说明如下。 1、官方文档是这么说的&#xff1a;go语言版本推荐1.5-1.8 2、但是同一个页面&#xff0c;又是这么说的&#xff1a;不推荐使用1.11之前的版本。 3、问题来了&#xff1a;用什么版本…

数据归档与清理功能大幅升级,NineData重磅升级!

NineData 的数据归档与清理功能已经发布将近半年时间&#xff0c;在这段时间里&#xff0c;解决了一大批企业在过期数据处理方面的大麻烦&#xff0c;可以相对自动化地定期执行如下数据归档与清理工作。 识别业务库中的归档数据→移动到归档库→清理业务库的已归档数据→整理业…

【力扣C++】爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2&#x…

解决Playwright在Ubuntu下启动报错的问题:从环境到依赖的全面优化

在Ubuntu环境中使用Python进行web自动化测试时,Playwright是一个非常强大的工具。然而,在具体实践中,我们常常会遇到各种错误,尤其是在不同Python版本和依赖版本之间切换时。本文将详细介绍如何应对这些问题,并提供一些解决方法。 问题背景 在使用Playwright时,我们有时…

docker-compose离线安装harbor

1、下载harbor goharbor下载&#xff1a;Releases goharbor/harbor GitHub harbor-offline-installer-v2.11.0.tgz 2、解压 tar -xvf harbor-offline-installer-v2.11.0.tgz 3、创建一个卷目录&#xff0c;并复制一份配置文件 cd harbor; mkdir data;cp harbor.yml.tmp…

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /…

[Linux]缓冲区

一、概念 缓冲区&#xff0c;也称为缓存&#xff0c;是内存空间的一部分。也就是说&#xff0c;在内存空间中预留了一定的存储空间&#xff0c;用来缓冲输入或输出的数据。这个保留的空间称为缓冲区。 缓冲区的主要作用就是提高效率&#xff1a; 提高使用者的效率&#xff0…

【吊打面试官系列-Mysql面试题】NULL 是什么意思?

大家好&#xff0c;我是锋哥。今天分享关于 【NULL 是什么意思&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; NULL 是什么意思? 答&#xff1a;NULL 这个值表示 UNKNOWN(未知):它不表示“”(空字符串)。对 NULL 这个值的任何比较都会生产一个 NULL 值。您不能…

Qt项目天气预报(6) - 引入QMap: debug+更新天气图片

QMAP 解决bug (&#xff09; bug描述 由于json文件中有的地方不带市&#xff0c;有的地方带县&#xff0c;有的地方是区&#xff0c;我们匹配不上这个地方&#xff0c;我们可以使用QString进行字符串拼接来实现。 另外&#xff0c;我们之前的 getCityCodeFromName()函数写得…

使用python连接dy直播间的websocket消息,竟然一会就自动断开了

使用python的websocket创建一个客户端连接直播间的消息&#xff0c;可是过一会就自动断开了&#xff0c;使用rust尝试连接也是一样的效果&#xff0c;过一会就自动断开了&#xff0c;而且报错&#xff1a; 我们先使用python建立一个客户端试一下&#xff1a; # 导入websocket-…

免费的AI在线写作工具,让写作变的更简单

在如今的时代&#xff0c;写作已经成为了我们日常生活中不可或缺的一部分。无论是自媒体创作者、学生还是办公职场人员&#xff0c;都有内容创作的需求。然而&#xff0c;写作过程往往伴随着灵感枯竭、查找资料费时等问题。下面小编就来和大家分享几款免费的AI在线写作工具&…

桌面编辑器ONLYOFFICE 功能多样性快来试试吧!

目录 ONLYOFFICE 桌面编辑器 8.1 ONLYOFFICE介绍 主要功能和特点 使用场景 1.PDF编辑器 2.幻灯片版式 3.编辑&#xff0c;审阅和查看模式 4.隐藏连接到云版块 5.RTL语言支持和本地化选项 6.媒体播放器 7、其他新功能 8.下载 总结 ONLYOFFICE 桌面编辑器 8.1 官网地…

视频监控EasyCVR视频汇聚/智能边缘网关:EasySearch无法探测到服务器如何处理?

安防监控EasyCVR智能边缘网关/视频汇聚网关/视频网关属于软硬一体的边缘计算硬件&#xff0c;可提供多协议&#xff08;RTSP/RTMP/国标GB28181/GAT1400/海康Ehome/大华/海康/宇视等SDK&#xff09;的设备接入、音视频采集、视频转码、处理、分发等服务&#xff0c;系统具备实时…

数字人视频剪辑解决方案,个性化定制服务

如何高效、专业地剪辑出高质量的数字人视频&#xff0c;却成为众多企业面临的难题。针对这一挑战&#xff0c;美摄科技凭借其在人工智能、计算机视觉等领域的深厚积累&#xff0c;推出了面向企业的数字人视频剪辑解决方案&#xff0c;为企业带来前所未有的视频制作新体验。 一…

Spring Cloud学习:如何实现Gateway 服务网关限流

目录 一、Spring Cloud介绍二、什么是服务网关三、Gateway的优势和应用场景四、如何实现Gateway 服务网关限流 一、Spring Cloud介绍 Spring Cloud是一个基于Spring Boot的微服务架构开发工具集&#xff0c;它整合了多种微服务解决方案&#xff0c;为开发者提供了一站式的微服…

智慧协同革新工业设计,创作评审无界畅达

工业产品研发是一个结合了创意、艺术和技术的综合性行业。设计师们通过深入理解文化、市场和消费者需求&#xff0c;运用各种材料和工艺&#xff0c;创造出具有独特魅力和价值的工业产品。这个行业涵盖了从设计、制作到销售等多个环节&#xff0c;需要团队成员之间的紧密协作和…