shell脚本之case 的用法
shell脚本之case
case是Shell脚本中的一种控制流语句,它允许根据变量的值选择不同的执行路径。case语句的语法如下:
case word in pattern [| pattern]...) command-list ;; pattern [| pattern]...) command-list ;; ... *) command-list ;;
esac
在这个语法中,word是一个要检查的字符串或变量。pattern是一个要与word进行匹配的模式,可以是一个字符串、正则表达式或者一个列表。如果word与某个模式匹配,那么将执行相应的command-list。
下面是一些使用case语句的示例:
1)字符串匹配:
#!/bin/bash fruit="apple" case $fruit in apple) echo "It's an apple." ;; banana) echo "It's a banana." ;; *) echo "It's an unknown fruit." ;;
esac
在这个例子中,case语句检查变量fruit的值。如果值是"apple",则输出"It’s an apple.“;如果值是"banana”,则输出"It’s a banana.“;否则,输出"It’s an unknown fruit.”。
2.)正则表达式匹配:
#!/bin/bash number=5 case $number in 1|2|3) echo "It's a small number." ;; 4|5|6) echo "It's a medium number." ;; 7|8|9|10) echo "It's a large number." ;; *) echo "It's an unknown number." ;;
esac
在这个例子中,case语句使用正则表达式来匹配变量number的值。如果值是1、2或3,则输出"It’s a small number.“;如果值是4、5或6,则输出"It’s a medium number.”;如果值是7、8、9或10,则输出"It’s a large number.“;否则,输出"It’s an unknown number.”。
3)列表匹配:
#!/bin/bash color="red" case $color in red|green|blue) echo "It's a primary color." ;; yellow|orange|purple) echo "It's a secondary color." ;; *) echo "It's an unknown color." ;;
esac
在这个例子中,case语句使用一个列表来匹配变量color的值。如果值是"red"、“green"或"blue”,则输出"It’s a primary color.“;如果值是"yellow”、“orange"或"purple”,则输出"It’s a secondary color.“;否则,输出"It’s an unknown color.”。
4)使用通配符:
#!/bin/bash file="example.txt" case $file in *.txt) echo "It's a text file." ;; *.doc|*.docx) echo "It's a Word document." ;; *.pdf) echo "It's a PDF document." ;; *) echo "It's an unknown file type." ;;
esac
在这个例子中,case语句使用通配符来匹配变量file的值。如果值是以".txt"结尾的字符串,则输出"It’s a text file.“;如果值是以”.doc"或".docx"结尾的字符串,则输出"It’s a Word document.“;如果值是以”.pdf"结尾的字符串,则输出"It’s a PDF document.“;否则,输出"It’s an unknown file type.”。
相关文章:
shell脚本之case 的用法
shell脚本之case case是Shell脚本中的一种控制流语句,它允许根据变量的值选择不同的执行路径。case语句的语法如下: case word in pattern [| pattern]...) command-list ;; pattern [| pattern]...) command-list ;; ... *) command-list ;; esa…...
第3章 helloworld 驱动实验(iTOP-RK3568开发板驱动开发指南 )
在学习C语言或者其他语言的时候,我们通常是打印一句“helloworld”来开启编程世界的大门。学习驱动程序编程亦可以如此,使用helloworld作为我们的第一个驱动程序。 接下来开始编写第一个驱动程序—helloworld。 3.1 驱动编写 本小节来编写一个最简单的…...
基于PyTorch使用LSTM实现新闻文本分类任务
本文参考 PyTorch深度学习项目实战100例 https://weibaohang.blog.csdn.net/article/details/127154284?spm1001.2014.3001.5501 文章目录 本文参考任务介绍做数据的导入 环境介绍导入必要的包介绍torchnet和keras做数据的导入给必要的参数命名加载文本数据数据前处理模型训…...
Flutter插件的制作和发布
Flutter制作插件有两种方式(以下以android和ios为例): 目录 1.直接在主工程下的android和ios项目内写插件代码:2.创建独立Flutter Plugin项目,制作各端插件后,再引入项目:1. 创建Flutter Plugin…...
【JAVA】异常
作者主页:paper jie 的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和…...
合同矩阵充要条件
两个实对称矩阵合同的充要条件是它们的正负惯性指数相同。 正惯性指数是矩阵正特征值个数,负惯性指数是矩阵负特征值个数。 即合同矩阵的充分必要条件是特征值的正负号个数相同。 证明: 本论证中的所有矩阵都是对称矩阵。 根据定义,若矩…...
数据分析三剑客之Pandas
1.引入 前面一篇文章我们介绍了numpy,但numpy的特长并不是在于数据处理,而是在它能非常方便地实现科学计算,所以我们日常对数据进行处理时用的numpy情况并不是很多,我们需要处理的数据一般都是带有列标签和index索引的࿰…...
Spring Boot自动装配原理
简介 Spring Boot是一个开源的Java框架,旨在简化Spring应用程序的搭建和开发。它通过自动装配的机制,大大减少了繁琐的配置工作,提高了开发效率。本文将深入探讨Spring Boot的自动装配原理。 自动装配的概述 在传统的Spring框架中…...
VMware Workstation虚拟机网络配置及配置自动启动
目录 一、网络配置二、配置自动启动1.VMware 中配置虚拟机自启动2.系统服务中配置 VMware 服务自启动 一、网络配置 本文将虚拟机 IP 与主机 IP 设置为同一个网段。 点击 “编辑” -> “虚拟网络编辑器(N)…”: 点击 “更改设置”: 将 VMnet0 设置…...
智能语音机器人竞品调研
一、腾讯云-智能客服机器人 链接地址:智能客服机器人_在线智能客服_智能客服解决方案 - 腾讯云 二、阿里云-智能语音机器人 链接地址:智能对话机器人-阿里云帮助中心 链接地址:智能外呼机器人的业务架构_智能外呼机器人-阿里云帮助中心 三、火…...
【操作系统】进程的概念、组成、特征
概念组成 程序:静态的放在磁盘(外存)里的可执行文件(代码) 作业:代码+数据+申请(JCB)(外存) 进程:程序的一次执行过程。 …...
大二第二周总结
问题: 想到了之前追的辩论赛,主题是“被误解是表达者的宿命”, 反方认为被误解不是表达者的宿命: 由于表达者表意含混造成误解的可能性是人力可控的,表达者可在真诚沟通的基础之上,根据对方反应不断调整…...
JDK、eclipse软件的安装
一、打开JDK安装包 二、复制路径 三、点击我的电脑,找到环境变量 四、新建环境 变量名:JAVA_HOME 变量值就是刚刚复制的路径 五、在path中建立新变量 双击path 打印以下文字 最后一直双击确定,安装环境完成。 六、双击eclipse 选择好安装…...
235. 二叉搜索树的最近公共祖先 Python
文章目录 一、题目描述示例 1示例 2 二、代码三、解题思路 一、题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足…...
Apollo介绍和入门
文章目录 Apollo介绍配置中心介绍apollo介绍主流配置中心功能特性对比 Apollo简介 入门简单的执行流程Apollo具体的执行流程Apollo对象执行流程分步执行流程 核心概念应用,环境,集群,命名空间企业部署方案灰度发布全量发布 配置发布的原理发送…...
一文看懂Oracle 19c OCM认证考试(需要Oracle OCP证书)
Oracle OCM的认证全称是Oracle Certified Master,是比OCP更高一级的认证,姚远老师的很多OCP学员都对OCM考试有兴趣,这里跟大家做个介绍。 OCM考试全部是上机的实操考试,没有笔试,要到Oracle原厂参加两天的考试。参加1…...
回归预测 | MATLAB实现PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测(多指标,多图)效果一览…...
python自学
自学第一步 第一个简单的基础,向世界说你好 启动python 开始 print是打印输出的意思,就是输出引号内的内容。 标点符号必须要是英文的,因为他只认识英文的标点符号。 exit()推出python。 我们创建一个文本文档&…...
元宇宙安全与著作权相关市场与技术动态:韩国视角
元宇宙市场动态 元宇宙安全与著作权维护技术现状 元宇宙有可能为商业创造巨大价值,尤其是在零售和时尚领域。时尚产品的象征性价值不仅在物理空间中得以保持,在虚拟空间中也是如此。通过元宇宙平台,企业可以开发虚拟产品,降低供…...
springboot整合neo4j--采用Neo4jClient和Neo4jTemplate方式
1.背景 看了spring-boot-starter-data-neo4j的源码之后发现,该starter内已经实现了Neo4jClient和Neo4jTemplate,我们只需要使用Autowire就能直接使用它操作neo4j。 Neo4jClient方式与我的另一篇springboot整合neo4j-使用原生cypher Java API博客方式一样…...
终极指南:如何在Kubernetes中部署NSwag实现容器化API文档服务
终极指南:如何在Kubernetes中部署NSwag实现容器化API文档服务 【免费下载链接】NSwag The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript. 项目地址: https://gitcode.com/gh_mirrors/ns/NSwag NSwag是.NET、ASP.NET Core和TypeScript的…...
Python路径解析实战:从相对路径到绝对路径的精准定位
1. 为什么需要精准定位文件路径? 在日常开发中,文件路径处理是个看似简单却暗藏玄机的问题。我遇到过不少开发者,包括曾经的我,在处理文件路径时经常踩坑。比如用户上传的文件路径可能是相对路径,或者包含符号链接&…...
Jetson Nano上MediaPipe GPU加速实战:从编译到部署,让你的AI应用帧率翻倍
Jetson Nano上MediaPipe GPU加速实战:从编译到部署,让你的AI应用帧率翻倍 在嵌入式AI领域,Jetson Nano凭借其出色的GPU性能成为众多开发者的首选平台。然而,当我们将Google的MediaPipe框架部署到这块开发板上时,默认的…...
Android Profiler 内存分析实战:从卡顿溯源到泄漏定位
1. Android Profiler内存分析器入门指南 第一次打开Android Studio的Profiler面板时,很多开发者都会被那些跳动的曲线和复杂的数据搞得一头雾水。记得我刚接触内存分析时,盯着那些上上下下的折线图看了半天,完全不知道从何下手。其实Android …...
Android 9.0 AOSP编译实战:手把手教你修改系统Fingerprint,绕过应用环境检测
Android 9.0 AOSP编译实战:深度定制系统指纹绕过环境检测 在移动应用生态中,越来越多的应用开始检测设备系统指纹(Fingerprint)来判断运行环境的安全性。当应用检测到test-keys等开发版标识时,可能会限制功能或直接拒绝…...
Agent工作流卡住了?试试AFlow:用蒙特卡洛树搜索自动帮你重构工作流拓扑
Agent工作流优化新范式:AFlow如何用蒙特卡洛树搜索重构智能体协作拓扑 当你的多智能体系统陷入性能瓶颈时,最棘手的往往不是单个组件的缺陷,而是隐藏在复杂交互中的结构性问题。传统调试方法如同在迷宫中摸索,而AFlow算法带来的蒙…...
从零搭建本地大模型Agent:Ollama + FastAPI 实战指南
引言 随着AI技术的爆发,云端大模型API的调用成本不断攀升,同时数据隐私问题也日益受到关注。越来越多的开发者开始将目光投向本地化部署方案。今天,我将手把手教你如何利用 Ollama FastAPI,在本地搭建一个具备Agent能力的AI助手…...
E-Hentai Downloader 终极指南:一键打包下载图片档案的免费神器
E-Hentai Downloader 终极指南:一键打包下载图片档案的免费神器 【免费下载链接】E-Hentai-Downloader Download E-Hentai archive as zip file 项目地址: https://gitcode.com/gh_mirrors/eh/E-Hentai-Downloader E-Hentai Downloader 是一款专为 E-Hentai …...
力扣1172题今天做不出来了 ,明日再战
今天上午两节 Java 课 , Java 老师 真惨啊 , 呜呜呜呜 , Java 老师胳膊周末的时候不小心摔骨折了 . 他扎着绷带还给我们上课 , 真的是感动死了. 真的 , 我哭死 … . . 晚上 自己搞了: 观看技术直播 AI 大模型应用开发 Python持续学习 AI 相关知识…使用了一下 openclaw , …...
如何参与DictionaryByGPT4开源AI单词学习项目:完整贡献指南
如何参与DictionaryByGPT4开源AI单词学习项目:完整贡献指南 【免费下载链接】DictionaryByGPT4 一本 GPT4 生成的单词书📚,超过 8000 个单词分析,涵盖了词义、例句、词根词缀、变形、文化背景、记忆技巧和小故事 项目地址: http…...
