【玩转Linux操作】一文带你明白Shell的判断,循环语句

news2024/12/29 2:35:29

🎊专栏【玩转Linux操作】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【如愿】
大一同学小吉,欢迎并且感谢大家指出我的问题🥰

文章目录

  • 🍔判断语句
    • ⭐单层if
      • 🎈示例
    • ⭐单层if-else
      • 🎈示例
    • ⭐多层if-elif-elif-else
      • 🎈示例
    • ⭐case...esac形式
      • 🎈示例
  • 🍔循环语句
    • ⭐for...in...do...done
      • 🎈示例
        • 🎄输出a 2 cc,每个元素占一行
        • 🎄输出当前路径下的所有文件名,每个文件名占一行
        • 🎄输出1-10
    • ⭐for((...;...;...))do...done
      • 🎈示例
    • ⭐while...do...done循环
      • 🎈示例
    • ⭐until...do...done循环
      • 🎈示例
  • 🌺break命令
    • ⭐示例
  • 🌺continue命令
  • 🎁死循环的处理方式

在这里插入图片描述

🍔判断语句

注意写空格

if … then 形式
类似于C/C++里面的if-else语句

⭐单层if

if condition
then
	语句1
	语句2
	...
fi

🎈示例

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

⭐单层if-else

if condition
then 
	语句1
	语句2
	...
else
	语句1
	语句2
	...
fi

🎈示例

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

⭐多层if-elif-elif-else

if condition
then
	语句1
	语句2
	...
elif condition
then
	语句1
	语句2
	...
elif condition
then
	语句1
	语句2
	...
else
	语句1
	语句2
	...
fi

🎈示例

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

⭐case…esac形式

类似于C/C++的switch语句

case $变量名称 in
	值1)
		语句1
		语句2
		...
		;;  #类似于C/C++的break
	值2)
		语句1
		语句2
		...
		;;  
	*)		#类似于C/C++的default
		语句1
		语句2
		...
		;;
esac

🎈示例


在这里插入图片描述

🍔循环语句

注意写空格

⭐for…in…do…done

for var in val1 val2 val3
do
	语句1
	语句2
	...
done

🎈示例

🎄输出a 2 cc,每个元素占一行

在这里插入图片描述

在这里插入图片描述

🎄输出当前路径下的所有文件名,每个文件名占一行

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

🎄输出1-10

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

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

⭐for((…;…;…))do…done

for((expression;condition;expression))
do
	语句1
	语句2
	...
done

🎈示例

输出0到9
在这里插入图片描述

在这里插入图片描述

⭐while…do…done循环

while condition
do
	语句1
	语句2
	...
done

🎈示例

输入name,按下CTRL+d后停止输入

在这里插入图片描述

在这里插入图片描述

⭐until…do…done循环

当条件为真时结束循环

until condition
do
	语句1
	语句2
	...
done

🎈示例

当用户输入yesYES时结束,否则一直输入
在这里插入图片描述
在这里插入图片描述

🌺break命令

跳出当前一层循环

Linux中break不能跳出case语句

⭐示例

如果输入的不是文件结束符,那么会输出1,2,3,4,5,6,7
如果输入的是文件结束符,那么会直接结束循环
Linux中的文件结束符(EOF)是CTRL+d

while read name 
do 
	for((i=1;i<=10;i++))
	do
		case $i in
			8)
				break
				;;
			*)
				echo $i
				;;
		esac
	done
done

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

🌺continue命令

for ((i=1;i<=10;i++))
do
	if [ `expr $i % 2` -eq 0 ]
	then
		continue
	fi
	echo $i
done

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

🎁死循环的处理方式

输入CTRL+c即可
否则可以直接关闭进程
1.所有top命令找到该进程的PID
2.输入kill -9 PID即可关掉此进程

🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰

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

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

相关文章

C++ 最长子段和

最大子段和详解_最大字段和_Niteip的博客-CSDN博客 #include <iostream> #include <sstream> #include <vector> #include <string> #include <algorithm> #include <climits> #include <unordered_map> #include <set>using…

ElementUI —— Cascader 级联选择器

前言&#xff1a; 项目中使用Cascader级联选择器&#xff0c;通过递归处理后端接口返回的数据。 function fn(temp) {let newArr [];for (let i 0; i < temp.length; i) {let obj {};obj.value temp[i].name;obj.label temp[i].name;obj.children [];if (temp[i].chil…

Python爬虫实战之原神公告获取

前言 好久不见了吧&#xff0c;博主最近也是成为了准高三&#xff0c;没有太多时间去创作文章了&#xff0c;所以这篇文章很有可能是高考前最后一篇文章了(也不一定&#x1f609;) 言归正传&#xff0c;本次文章主要讲解如何去爬取原神官网的公告(我不玩原神&#xff01;&…

如何在WordPress网站中嵌入TikTok视频(3个简单方法)

您想轻松地将 TikTok 视频嵌入您的 WordPress 网站吗&#xff1f; 如果您已经创建了成功的、病毒式传播的 TikTok&#xff0c;那么将这些视频发布到您的网站也是有意义的。通过这种方式&#xff0c;您只需很少的额外努力就能获得更多的观看次数、参与度和社交媒体关注者。 在…

企业面临数字化转型,有什么建议吗?

数字化转型是一个综合过程&#xff0c;涉及利用数字技术增强业务运营、改善客户体验并推动创新。企业数字化转型的一些建议&#xff1a; 制定清晰的愿景&#xff1a;定义数字化转型目标并创建与业务目标相符的愿景。这将有助于指导数字化并确保它们的驱动目标。 拥抱云计算&am…

盲盒抽奖小程序源码-带H5端可打包APP_带安装教程

1.新建站点。上传后台源码文化到新建站点&#xff0c;解压跟目录&#xff01;&#xff01; 2. 导入数据库文件&#xff0c;修改数据库信息&#xff0c;&#xff08;数据库根目录 .env 文件&#xff09; 3. 修改网站运行目录 《运行目录为/public 》 4. 修改伪静态 《伪静态t…

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 Proteus仿真小实验&#xff1a; STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 TM1637 4位数码管驱动电路2路0~20V电压测量模块2个电位器输出0-…

微信小程序精选,多样化的功能与便捷体验

白噪音Pro、魔术字体和天天倒计时&#xff0c;这三款微信小程序正越来越受到我们的欢迎。它们各自具有独特的功能和特点&#xff0c;为我们提供了多样化的体验。现在&#xff0c;让我们一起来详细介绍一下这三款小程序。 首先是白噪音Pro。随着生活节奏的加快和压力的增加&…

如何把录音转换成文字免费?用三个方法轻松转文字!

录音转文字的技术为我们的生活带来了诸多便利。例如&#xff0c;一家新闻机构正在进行一项采访&#xff0c;需要记录受访者的观点和信息&#xff0c;他们选择使用录音设备来收集数据&#xff0c;因为这样可以更准确地捕捉受访者的原始反应。然而&#xff0c;手动将录音内容转化…

动态路由介绍

目录 动态路由 协议的划分&#xff1a; 通过协议算法的不同可以分为两类&#xff1a; RIP RIP的基础配置 拓展配置&#xff1a; 1.RIP的手工认证——RIPV2的手工认证 2.RIP的手工汇总 3.RIP的沉默接口 4.RIP的加快收敛 5.RIP的缺省路由 OSPF 动态路由评判标准&…

今天给大家分享几款优质的图片处理软件

图片处理软件是现代生活中不可或缺的一种工具。无论是平面设计、摄影后期还是日常生活中的照片编辑等&#xff0c;都需要借助优质的图片处理软件来完成各种任务。今天&#xff0c;我将向大家介绍几款非常优秀的图片处理软件&#xff0c;它们功能强大、易于操作&#xff0c;可以…

ES trouble shotting

一、背景 KfES 实例不同节点&#xff0c;会出现隔断时间告警&#xff0c;需要kill后恢复。 二、排查 排查是es 2.3.0低版本的bug&#xff0c;LRUQueryCache 初始化后一直在占用着内存没有释放。 2.1 ES 版本 2.2 内存占用情况 2.3 ES 源码 2.4 社区经验 elasticsearch2.3.…

特征融合篇 | YOLOv8 引入渐进特征金字塔网络 AFPN 结构 | 《2023年6月28日最新发表》

论文地址:https://arxiv.org/pdf/2306.15988.pdf 代码地址:https://github.com/gyyang23/AFPN 多尺度特征在目标检测任务中对于编码具有尺度变化的对象非常重要。一种常见的多尺度特征提取策略是采用经典的自顶向下和自底向上的特征金字塔网络。然而,这些方法存在特征信息的…

快手详情API接口jason格式java php

随着移动互联网的快速发展&#xff0c;短视频应用成为越来越多用户获取信息和进行购物的重要途径。作为广告商或电商平台&#xff0c;了解和充分利用快手的商品详情API接口将为您的营销策略带来巨大的潜力 了解快手商品详情API接口 快手的商品详情API接口是一组提供商品相关信息…

初阶C语言——指针

Hello&#xff0c;我们又见面了&#xff0c;时间过的好快啊&#xff0c;转眼间也已经写了这么多份博客了&#xff0c;在接下来的一年里&#xff0c;小编也会认真学习的敲代码&#xff0c;我们一起进步&#xff0c;那今天开始讲我们的指针&#xff0c;指针这一章节在C语言的学习…

node-red安全部署方式-安全登录功能

node-red安全部署方式 一、前期准备二、安全部署三、更多 安装号的node-red&#xff0c;默认是没有用户登陆功能的&#xff0c;每次进入工作界面只需输入服务器ip:端口号即可登陆。但是假如其他人知道了我们的ip地址&#xff0c;岂不是任何人都可以访问我们的服务器呢&#xff…

带你了解Python的重要性,就算做测试也要会Python

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python、C/C 主页链接&#xff1a;阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 人生苦短&#xff0c;我用 Python 在测试工作中用好 Python 进阶&#xff1a;用Python构建测试…

mysql的各类索引

MySQL的索引分三类&#xff1a;单列索引&#xff08;普通索引、唯一索引、主键索引&#xff09;、多列索引(联合主键,组合索引)、全文索引 一、单列索引&#xff1a;一个索引只包含单个列&#xff0c;但一个表中可以有多个单列索引。 &#xff08;1&#xff09;普通索引(二级…

阿里巴巴最受欢迎的10本书,希望能帮助你开阔眼界

读书是一件充实生活、丰富精神的事情&#xff0c;世界是复杂的&#xff0c;我们可以从书中获得包罗万象的知识&#xff0c;精神体验从未有过的人生。 书荒&#xff1f;不存在的&#xff0c;好书互相分享才能发挥其最大的价值。我们在内部发起了一个“晒一本你在读的书”的活动…

MyBatis 中如何使用结果映射

MyBatis 中如何使用结果映射 MyBatis 是一个开源的 Java 持久化框架&#xff0c;它可以将数据库中的数据映射到 Java 对象中&#xff0c;并且使得 Java 对象可以非常方便地存储到数据库中。在 MyBatis 中&#xff0c;结果映射是一个非常重要的概念&#xff0c;它可以将 SQL 查…