[Linux] shell条件语句和if语句
一、条件语句
1.1 测试
test 测试文件的表达式是否成立
格式:test 条件表达式
[ 条件表达式 ]
| 选项 | 作用 |
| -d | 测试是否为目录 |
| -e | 测试目录或文件是否存在 |
| -a | 测试目录或文件是否存在 |
| -f | 测试是否为文件 |
| -r | 测试当前用户是否有权限读取 |
| -w | 测试当前用户是否有权限写入 |
| -x | 测试当前用户是否有权限执行 |
| -L | 测试是否为软连接文件 |
test

1.2 比较整数
[ 整数1 -操作符 整数2 ] 公式-eq:第一个数等于第二个数-ne:第一个数不等于第二个数-gt:第一个数大于第二个数-lt:第一个数小于第二个数-le:第一个数小于或等于第二个数-ge:第一个数大于或等于第二个数

1.3 字符串比较
= 字符串相同
!= 字符串不相同
-z 字符串内容为空
-n 字符是否存在
格式:
[ $a = $b ] 是否相同[ $a != $b ] 是否不相同[ -z $b ] 是否为空[ -n $a ] 字符是否存在

1.4 逻辑测试
格式:[ 表达式1 ] 操作符 [ 表达式2 ] ...
命令1 操作符 命令2...
短路与
全真才为真;一假即为假
cmd1 && cmd2
短路或
一真才即为真;全假才为假
cmd1 || cmd2
应用
cmd1 && cmd2 || cmd3
1.5 双中括号
用法
[[ == (通配符) ]]
[[ =~ (正则表达式) ]]
1.6 () {}
用途:都可以把命令放在一起,批量执行
二、if 语句
2.1 单分支语句
格式:if 判断条件then命令语句fi


2.2 双分枝语句
格式:
if 判断条件
then
命令
else
命令
fi
实验1


实验2

2.3 多分枝语句
格式:
if 判断条件
then
命令
elif 判断条件2
then
命令
..........
else
命令
fi

猜丁壳游戏


三、case分支语句
CASE 语句允许更清晰的脚本程序结构层次,常用于启动、重启或停止服务的脚本时,有些服务不提供此类控制脚本,您要编写 CASE 语句来编写。
case 语句主要用于以下情况:一个变量有多个值,需要对每个值执行不同的命令序列。这种情况与多分支 if 语句非常相似,只是 if 语句确定多个不同的条件,而 case 语句确定单个变量的不同值。
格式:
case $num in
条件判断1)
命令1
;;
条件判断2)
命令2
;;
条件判断3)
命令3
;;
........
*)
;;
echo " "
bash $0
;;
esac

利用case做个简易的Linux菜单



试试关闭防火墙

关于 CASE 语句的说明
必须以 "in "结束,每个模式必须以右括号") "结束。
双分号";; "表示命令序列的结束。
可以在模式字符串中使用方括号表示连续的范围,如"[0-9]",垂直条形符号"|"表示 "或",如 "A|B"。
==最后)表示默认模式,"*"相当于通配符 ===*。
相关文章:
[Linux] shell条件语句和if语句
一、条件语句 1.1 测试 test 测试文件的表达式是否成立 格式:test 条件表达式 [ 条件表达式 ] 选项作用-d测试是否为目录-e测试目录或文件是否存在-a测试目录或文件是否存在-f测试是否为文件-r测试当前用户是否有权限读取-w测试当前用户是否有权限写入-x测试当前…...
【陈老板赠书活动 - 18期】-如何成为架构师这几本书推荐给你
陈老老老板🦸 👨💻本文专栏:赠书活动专栏(为大家争取的福利,免费送书) 👨💻本文简述:生活就像海洋,只有意志坚强的人,才能到达彼岸。 👨&am…...
chrome 插件 Mobile simulator
谷歌浏览器插件Mobile simulator v3.8.2.0-2023-4-27(做屏幕适应的前端工具)-(Chrome插件)谷歌浏览器插件网 百度网盘:https://pan.baidu.com/s/1xVyny8CtlMjSchhTIlfRAA 提取码:cj5c...
JavaScript框架 Angular、React、Vue.js 的全栈解决方案比较
在 Web 开发领域,JavaScript 提供大量技术栈可供选择。其中最典型的三套组合,分别是 MERN、MEAN 和 MEVN。前端框架(React、Angular 和 Vue)进行简化比较。 MERN 技术栈详解 MERN 技术栈包含四大具体组件: MongoDB&am…...
【Vue】核心特性(响应式)
响应式: 数据变化,视图自动更新 接下来使用一个例子来体现一下什么是响应式 案例一: 访问数据,视图自动更新 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><…...
ESP32 http 请求
目录 参考教程1.使用的http连接2.使用Vscode-IDF创建http_request例程3.修改http_request_example_main.c函数4.已经获取到响应的数据 参考教程 ESP-IDF HTTP获取网络时间 1.使用的http连接 http://api.m.taobao.com/rest/api3.do?apimtop.common.getTimestamp请求可以得到…...
【C++】拷贝构造函数,析构函数详解!
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
qml ParticleSystem3D使用介绍
在 Qt Quick 3D 中,ParticleSystem3D 是用来创建和控制3D粒子系统的元素。粒子系统是图形编程中用于模拟液体、烟雾、火、星空等现象的技术,它通过生成大量小粒子来模拟这些效果。ParticleSystem3D 提供了一个框架,允许开发者定义粒子的各种属性,如生命周期、速度、颜色、大…...
集团投融资大数据平台解决方案
一、项目背景 项目为集团型公司大数据平台项目,整个项目周期约为6个月,整体呈现了对外的数据大屏驾驶仓和对内的看板报表,减少了客户内部数据上报和报表制作的重复工作量,为集团数据决策奠定基础。 二、项目目标 战略层ÿ…...
深信服技术认证“SCSA-S”划重点:渗透测试工具使用
为帮助大家更加系统化的学习网络安全知识,尽快通过深信服安全服务认证工程师认证,深信服推出“SCSA-S认证备考秘笈”共十期内容,“考试重点”内容框架,帮助大家快速get重点知识~ 划重点来啦 深信服安全服务认证工程师(…...
CCFCSP试题编号:201803-2试题名称:碰撞的小球
一、题目描述 二、思路 1.首先妾身分析这个题目,想要解题,得得解决2个问题。 1)判断小球到达端点或碰撞然后改变方向; 2)每时刻都要改变位置 两个问题都比较好解决,1)只要简单判断坐标&…...
《安富莱嵌入式周报》第327期:Cortex-A7所有外设单片机玩法LL/HAL库全面上线,分享三款GUI, PX5 RTOS推出网络协议栈,小米Vela开源
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 1、2023 Hackaday大赛胸牌开源 Vectorscope-main.zip (66.83MB) GitHub - Hack-a-Day/Vectorscope: Vectorscope badg…...
面试官:【js多维数组扁平化去重并排序】
文章目录 前言方法一方法二方法三方法四总结后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:JavaScript 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误&a…...
C#编程题分享(3)
n的阶乘问题 输⼊整数n,输出n的阶乘。 int n Convert.ToInt32(Console.ReadLine()); int jiecheng 1; for (int i 1; i < n 1; i) {jiecheng * i; // 1 * 2 * 3 * .....} Console.WriteLine("{0}的阶乘是:{1}", n, jiecheng); q^n次…...
Redis下载和安装(Windows系统)
通过 GitHub 来下载 Windows 版 Redis 安装包,下载地址:点击前往。 打开上述的下载链接,Redis 支持 32 位和 64 位的 Window 系统,大家根据个人情况自行下载,如图 1 所示: 下载完成后,打开相应的文件夹&a…...
MySQL数据库:开源且强大的关系型数据库管理系统
大家好,我是咕噜-凯撒,数据在当今信息化时代的重要性不可忽视。作为企业和组织的重要资产,数据的管理和存储变得至关重要,MySQL作为一种关系型数据库管理系统,具有非常多的优势,下面简单的探讨一下MySQL数据…...
如何在AD的PCB板做矩形槽孔以及如何倒圆弧角
Altium Designer 22下载安装教程-CSDN博客 如何在AD上创建完整的项目-CSDN博客 开始前,请先安装后AD,并创建好项目。 目录 1. 如何在AD的PCB板做矩形槽孔 2. 如何在AD的PCB板倒圆弧角 1. 如何在AD的PCB板做矩形槽孔 首先,我们进入上面创…...
SpringMVC日志追踪笔记整理
新建logback-spring.xml <?xml version"1.0" encoding"UTF-8"?> <configuration><property name"PATH" value"./log/business"></property><appender name"STDOUT" class"ch.qos.logback…...
UML建模图文详解教程06——顺序图
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl本文参考资料:《UML面向对象分析、建模与设计(第2版)》吕云翔,赵天宇 著 顺序图概述 顺序图(sequence diagram,也…...
睡前随笔记录
一个人从出生到长大,就像一部手机从新用到旧。手机里面积累了太多的缓存,积累了太多的照片,各种app的数据,安装了各式各样的程序。 所以大概这就是年纪越大,记性越差的原因吗?就像一个屋子,堆满…...
巧妙退出Windows Insider计划:无需账户的离线解决方案
巧妙退出Windows Insider计划:无需账户的离线解决方案 【免费下载链接】offlineinsiderenroll OfflineInsiderEnroll - A script to enable access to the Windows Insider Program on machines not signed in with Microsoft Account 项目地址: https://gitcode.…...
终极免费开源卡拉OK游戏:UltraStar Deluxe完全指南
终极免费开源卡拉OK游戏:UltraStar Deluxe完全指南 【免费下载链接】USDX The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStar™ 项目地址: https://gitcode.com/gh_mirrors/us/USDX 你是否渴望在家就能享受专业KT…...
Qwen2.5-Coder-1.5B效果实测:生成代码质量与准确性评估
Qwen2.5-Coder-1.5B效果实测:生成代码质量与准确性评估 1. 模型概述与测试背景 Qwen2.5-Coder-1.5B是阿里云通义大模型团队推出的专业代码生成模型,属于Qwen2.5-Coder系列中的轻量级版本。作为1.5亿参数的代码专用大模型,它在代码生成、补全…...
手机拍照太暗有救了!深入浅出解读Zero-DCE低光增强算法
手机拍照太暗有救了!深入浅出解读Zero-DCE低光增强算法 你是否曾在昏暗的餐厅、夜晚的街头或光线不足的室内,用手机拍下一张照片,却发现画面漆黑一片、细节全无?这种令人沮丧的体验即将成为过去。今天,我们要介绍一项革…...
FIFA 23 Live Editor 终极指南:轻松掌握游戏修改技巧
FIFA 23 Live Editor 终极指南:轻松掌握游戏修改技巧 【免费下载链接】FIFA-23-Live-Editor FIFA 23 Live Editor 项目地址: https://gitcode.com/gh_mirrors/fi/FIFA-23-Live-Editor 想要完全掌控你的FIFA 23游戏体验吗?FIFA 23 Live Editor正是…...
HappyHorse-1.0全球登顶:AI视频生成技术拆解与API接入指南(2026年4月)
HappyHorse-1.0今日起开放API测试,4月27日起面向企业级用户,5月正式商业化。本文整理当前技术性能数据、竞品对比、能力边界与接入信息,供开发者评估是否纳入视频生成技术选型。 一、性能数据(Artificial Analysis AI Video Arena…...
Qianfan-OCR API使用教程:从Codex示例到自定义业务集成
Qianfan-OCR API使用教程:从Codex示例到自定义业务集成 1. 前言:为什么选择Qianfan-OCR 如果你正在寻找一个简单易用但功能强大的OCR(光学字符识别)解决方案,Qianfan-OCR API值得考虑。这个API不仅能处理常规的印刷体…...
3分钟解决GitHub访问卡顿:Fast-GitHub终极加速方案完整指南
3分钟解决GitHub访问卡顿:Fast-GitHub终极加速方案完整指南 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否经历…...
CLI-Gym:基于环境反演的CLI任务自动化生成技术
1. CLI-Gym:环境反演驱动的CLI任务自动化生成框架在软件开发领域,命令行界面(CLI)是开发者与系统交互的核心工具。传统CLI任务开发面临两大痛点:一是环境密集型任务(如依赖冲突解决、系统配置修复ÿ…...
2026 AI搜索优化必备,免费GEO监测工具实测
摘要随着生成式AI搜索的普及,GEO(Generative Engine Optimization,生成式引擎优化)已成为企业数字营销的重要技术方向。本文对当前国内外主流的5款GEO优化工具进行了技术评测。评测维度包括功能完整性、AI模型支持、诊断能力和性价…...
