Linux-----Shell编程之循环语句

news2024/9/27 2:51:52

目录

一、小命令

1、echo

实验:

2、date ------  查看当前系统时间

3、cal ---- 日历

4、seq  打印

二、循环语句

1、for语句

实验:

计算整数和:

列出奇偶数

批量添加、删除用户

密码验证

随机抽奖

改名 

九九乘法表

九九乘法表倒

2、while语句

实验:

猜数字

猜商品的价格

商场购物

3、until语句

实验:

计算1-50的和

 小实验:


一、小命令

1、echo

echo -n   表示不换行输出
echo -e   表示输出转义符
常用的转义符

选项作用
\r光标移至行首,并且不换行
\s当前shell的名称,如bash
\t插入Tab键,制表符
\n输出换行
\f换行,但光标仍停留在原处
\表示插入"\"本身转义
\b表示退格 不显示前一个字符
\c抑制更多的输出或不换行

退个数(\b)不能大于前面的数字

实验:

自动分区的小实验

先添加一块磁盘,然后用脚本进行自动分区,先模拟看一下需要几个回车,格式化没写,后面再进行配置

2、date ------  查看当前系统时间

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

3、cal ---- 日历

4、seq  打印

 

二、循环语句

1、for语句

使用 for 循环语句时,需要指定一个变量及可能的取值列表,针对每一个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。

for语句的结构

for 变量名 in 取值列表
do
	命令序列
done

 for语句的执行流程

  • 首先将列表中的第1个取值赋给变量,并执行 do···done 循环体中的命令序列
  • 然后将列表中的第2个取值赋给变量,并执行循环体中的命令序列……
  • 以此类推,直到列表中的所有取值用完,最后将跳至 done 语句,表示结束循环

循环的含义

将某段代码重复运行多次,通常有进入循环的条件和退出循环的条件

重复运行的次数

  • 循环次数事先已知
  • 循环次数事先未知

常见的循环命令有:  for   while   until

i可以调用后面的,也可以不调用

实验:

计算整数和:

列出奇偶数
批量添加、删除用户

密码验证

随机抽奖
改名 

在/test目录下写脚本将/data目录下的*.sh的全部改名为*.txt

九九乘法表

九九乘法表倒

2、while语句

for循环语句非常适用于列表对象无规律,且列表来源已固定(如某个列表文件)的场合。而对于要求控制循环次数、操作对象按数字顺序编号、按特定条件执行重复操作等情况,则更适合使用另一种循环—while语句。

  • 使用 while循环语句时,可以根据特定的条件反复执行一个命令序列,直到该条件不再满足时为止。但是在脚本应用中,应该避免出现死循环的情况,否则后边的命令操作将无法执行。
  • 循环体内的命令序列中应包括修改测试条件的语句,以便在适当的时候使测试条件不再成立,从而结束循环。

while循环语句的语法结构如下所示:

while 条件测试操作
do
	命令序列
done

执行流程:

  • 首先判断 while 后的条件测试操作结果,如果条件成立,则执行 do···done 循环体中的命令序列
  • 返回 while 后再次判断条件测试结果,如果条件仍然成立,则继续执行循环体
  • 再次返回到 while 后,判断条件测试结果…如此循环
  • 直到 while 后的条件测试结果不再成立为止,最后跳转到 done 语句,表示结束循环

实验:

列出1-100之间能被3整除的数

猜数字
猜商品的价格

商场购物

3、until语句

重复测试某个条件,只要条件不成立则反复执行

语法结构:

until 条件测试操作
do
	命令序列
done

实验:

计算1-50的和

发消息

 小实验:

1、要求将目录YYYY-MM-DD/中所有文件,移动到YYYY-MM/DD/下

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

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

相关文章

线性表--栈

1.什么是栈? 栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除 操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈&#xff…

AI大模型开发架构设计(5)——人人能学会的Llama-2大模型微调

文章目录 人人能学会的Llama-2大模型微调1 什么是Llama-2以及关键特性分析什么是Llama-2?Llama-2关键特性分析2 Llama-2微调全流程剖析为什么要微调Llama-2?Llama-2微调全流程3 基于Llama-2微调3个应用案例案例1:电子游戏评价数据生成文本数据集合案例2:利用Llama-2微调模型…

linux 查看zookeeper server运行版本号

zookeeper版本查看运行命令:echo stat|nc localhost 2181 显示如下图所示: Zookeeper version: 3.4.5-cdh6.3.2--1, built on 11/08/2019 13:15 GMT Clients: /127.0.0.1:44814[0](queued0,recved1,sent0) Latency min/avg/max: 0/0/0 Received: 9 Se…

【Linux】开始使用 vim 吧!!!

Linux 1 what is vim ?2 vim基本概念3 vim的基本操作 !3.1 vim的快捷方式3.1.1 复制与粘贴3.1.2 撤销与剪切3.1.3 字符操作 3.2 vim的光标操作3.3 vim的文件操作 总结Thanks♪(・ω・)ノ感谢阅读下一篇文章见!…

这是一片测试文章

这是一片测试文章 这是一片测试文章 这是一片测试文章 这是一片测试文章 这是一片测试文章 这是一片测试文章 真的是测试文章 -111122225555444433333333222211111 dddddaaa

网络安全B模块(笔记详解)- HASH算法的基本使用

1.通过服务器场景(A-Server),进行HASH算法的基本使用。将123456作为openssl md5 的输入参数,使用 123456进行md5计算并将内容输出到屏幕。将此命令中输出结果的命令作为Flag提交; 2.通过服务器场景使用不同的加密方式对123456进行加密,对比两个加密字符串有何不同。使用…

20240127如何在线识别德语字幕?

20240127如何在线识别德语字幕? 2024/1/27 11:42 1945[科尔贝格]Kolberg 01:48:49 接近109分钟 德语视频的字幕OCR适配: 1、whisper,8:39-8:58,使用GTX1080需要接近20分钟。对整机性能要求比较重,特别吃显卡&#xff…

代码随想录算法刷题训练营day16

代码随想录算法刷题训练营day16:LeetCode(104)二叉树的最大深度 、LeetCode(559)n叉树的最大深度、LeetCode(111)二叉树的最小深度、LeetCode(222)完全二叉树的节点个数 LeetCode(104)二叉树的最大深度 题目 代码 /*** Definition for a binary tree node.* publ…

外包干了10个月,技术退步明显...

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

上升子序列的最大长度,递归-记忆化搜索-动态规划三步走

题目描述: 小明有一个数组,他想从数组任意元素开始向后遍历,找出所有上升子序列,并计算出最长的上升子序列的长度。 数据范围: 每组数据长度满足 1≤n≤200 1≤n≤200 , 数据大小满足 1≤val≤350 1≤val≤…

一句话说透redis哨兵模式

提到哨兵模式,不得不从另外一个模式进行说起,那就是redis的最常见的模式 主从模式,那么为啥还需要哨兵模式呢? 是因为如果开启了reids的主从模式,当主有问题时候,需要人工的切换到从节点上,无法…

如何实现无公网IP实现远程访问MongoDB文件数据库

📑前言 本文主要是如何实现无公网IP实现远程访问MongoDB文件数据库的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 &#x…

免费激活Vmware16且配置虚拟机网络

今天从头配置了一台虚拟机,遇到了点问题,记录一下从头开始的过程,以便下次查看 第一步 下载VM16 链接:https://pan.baidu.com/s/1a2gIXKYMMRXVEHb7bM4stw 提取码:7mht 步骤很简单,安装之后直接把文件夹里…

2024区块链应用最趋势,RWA实物资产化

作者 张群(赛联区块链教育首席讲师,工信部赛迪特聘资深专家,CSDN认证业界专家,微软认证专家,多家企业区块链产品顾问)关注张群,为您提供一站式区块链技术和方案咨询。 实物资产通证化&#xff0…

设计模式分类

常用的设计模式有哪些? 常用的设计模式通常按照创建型、结构型和行为型三大类别来划分,以下是每个类别中的一些常见设计模式: 创建型(Creational Patterns): 单例模式(Singleton Pattern&…

openssl3.2 - 测试程序的学习 - test\acvp_test.c

文章目录 openssl3.2 - 测试程序的学习 - test\acvp_test.c概述笔记要单步学习的测试函数备注END openssl3.2 - 测试程序的学习 - test\acvp_test.c 概述 openssl3.2 - 测试程序的学习 将test*.c 收集起来后, 就不准备看makefile和make test的日志参考了. 按照收集的.c, 按照…

二极管漏电流对单片机ad采样偏差的影响

1,下图是常规的单片机采集电压电路,被测量电压经过电阻分压,给到mcu采集,反向二极管起到钳位作用,避免高压打坏mcu。 2,该电路存在的问题 二极管存在漏电流,会在100k电阻上产生叠加电压&#x…

Cybellum—信息安全测试工具

产品概述 由于软件和数据在汽车上的使用越来越多,汽车越来越“智能化”,汽车行业面临着重大的信息安全挑战。2021年8月,ISO/SAE 21434正式发布,标准中对汽车的信息安全提出了规范化的要求,汽车信息安全不容忽视。 Cyb…

什么是数据库的三级模式两级映象?

三级模式两级映象结构图 概念 三级模式 内模式:也称为存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。定义所有的内部记录类型、索引和文件组织方式,以及数据控制方面的细节。模式:又称概念…

GA/T 1400视图库服务平台Easy1400视图库平台发布了,免费下载使用,23年做社会贡献的最后一项完成!

在23年12月开始的时候,立了一个flag,要给社会贡献一款免费可用的GA/T 1400视图库服务平台,原因背景也在《免费的GA/T 1400视图库服务平台》、《GA/T 1400视图库服务平台开发完成了,采集设备接入、人脸/人员/机动车/非机动车图库、…