目录

循环

echo 命令

for 循环次数

for 第二种格式

命令举例

while

脚本举例

双重循环及跳出循环

脚本举例

更改文件和目录的后缀名的脚本

画三角形的脚本

乘法口诀表的脚本

面试例题

补充命令

let 命令


循环

—— 一定要有跳出循环的条件

  1. 已知循环的次数

  2. 未知循环的次数,但是有一个跳出的条件

echo 命令

—— echo -n 表示不换行输出

—— echo -e 表示输出转义符

转义符号作用
-n表示不换行输出
\e输出转义字符,将转义后的内容输出到屏幕上
\b转义后相当于按退格键,但前提是 b 后面存在字符;b 表示删除前一个字符,\b\b 表示删除前两个字符
\c不换行输出,当 \c 后面存在字符时,后面的字符不会被输出
\n换行,被输出的字符从 \n 除开始另起一行
\f 或 \v换行,但是换行后的新行的开头位置连接着上一行的行尾
\t转以后表示插入 tab,即横向制表符
\r光标移至行首,用后面的字符覆盖等长度的前面的字符

for 循环次数

—— for 名称 in 循环列表

do命令

done

—— 循环列表

  • 只和循环的额外次数有关

  • 有几个值,就循环几次

例
for i in a b c #for 变量名 in 循环列表
#i 为自定义,in 后面接列表循环次数,a b c 表示循环 3次
do
命令序列
done循环列表的表项形式[root@localhost opt]# echo {1..10}  
1 2 3 4 5 6 7 8 9 10
#将数字 1至10 全部列出
[root@localhost opt]# echo {0..10..2}
0 2 4 6 8 10
#将数字 0至10 中的偶数全部列出;从 0 开始到 10 结束,每次加 2,步长为 2
[root@localhost opt]# echo {1..10..2}
1 3 5 7 9
#将数字 0至10 中的奇数全部列出;从 0 开始到 10 结束,每次加 2,步长为 2seq #调用命令
[root@localhost opt]# seq 5 
1
2
3
4
5
[root@localhost opt]# seq 0 5
0
1
2
3
4
5
[root@localhost opt]# seq 0 2 5
0
2
4
[root@localhost opt]# seq 1 2 5
1
3
5

for 第二种格式

for ((表达式1;表达式2;表达式3)) ; do 命令 ; done

—— 表达式1 ==> 表达式2:是一个判断,如果满足表达式2 才执行 ==> 表达式3

命令举例

[root@localhost ~]# ls
anaconda-ks.cfg       公共  视频  文档  音乐
initial-setup-ks.cfg  模板  图片  下载  桌面
[root@localhost ~]# for a in * ;do echo $a ;done
anaconda-ks.cfg
initial-setup-ks.cfg
公共
模板
视频
图片
文档
下载
音乐
桌面计算 1累计加到100 的结果
写法一
[root@localhost ~]# sum=0;a=0;for a in {1..100};do let sum+=a ;done;echo $sum
5050写法二
[root@localhost ~]# sum=0;a=0;for a in {1..100};do sum=$[sum+a] ;done;echo $sum
5050

while

—— 为限定条件,条件则成功执行

—— while 判断条件:条件成立则继续循环,条件不成立跳出循环

脚本举例
累加求和#!/bin/bash
a=0
b=0
until [ $a -gt 100 ]
#当 a的值并不大于100 时,因为条件不成立,所以继续循环执行,当 a的值大于100,满足条件,则跳出循环
do
b=$[a+b]
let a++
done
echo b=$b

双重循环及跳出循环

命令注释
break跳出单个循环;break n :数字 n ,代表跳出 n 层循环
continue终止某次循环中的命令,但是不会完全终止命令;continue n :数字 n ,代表跳出 n 层循环
exit直接退出脚本
例
#!/bin/bash
for j in {1..6}
doif [ $j -eq 3 ]thenbreakfiecho j=$j
done#执行的结果
[root@localhost opt]# bash l.sh #在 j=3 的时候停止该循环命令
j=1
j=2#!/bin/bash
for j in {1..6}
doif [ $j -eq 3 ]#当j的值等于3时thencontinue#终止此次循环,但是,不会影响循环命令的后续执行fiecho j=$j
done#执行的结果
[root@localhost opt]# bash l.sh  #没有显示 j=3 
j=1
j=2
j=4
j=5
j=6

脚本举例

更改文件和目录的后缀名的脚本

#!/bin/bash
for a in *.txt
#给a赋值任意字符加后缀名.txt
do
b=`echo $a|cut -d "." -f1`
#给b赋值,输出a 以 . 为分隔符,取后一列
mv $a ${b}.sh
#将a 的后缀名 .txt 更改为 .sh
done
画三角形的脚本

#!/bin/bashfor a in {1..9}
dofor b in `seq $a`doecho -e "*\c"done
echo
done

结果展示

乘法口诀表的脚本

#!/bin/bash
for a in {1..9}
dofor b in `seq $a`doecho -e "${a}*${b}=$[a*b]\t\c "done
echo
done

结果展示

面试例题

#!/bin/bash
ip=192.168.91.
for a in {1..254}
do
{
ping -c1 -W1 ${ip}${a}  &>/dev/null
if [ $? -eq 0 ]
then
echo ${ip}${a}  >> /opt/cunhuo
else
echo ${ip}${a}  >> /opt/nocunhuo
fi
} &
done

补充命令

let 命令
符号作用
++自身变量 +1
--自身变量 -1
+=任意数值自身变量 +任意数值
-=任意数值自身变量 -任意数值
*=任意数值自身变量 *任意数值
/=任意数值自身变量 /任意数值
%=任意数值自身变量 %任意数值

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英语六级范文模板

目录 现象解释 观点选择 问题解决 六级只考议论文,我们将从现象解释,观点选择,问题解决三个角度给出范文: 多次使用的句子,就可以作为模板记下来~~ 现象解释 In the contemporary world, the ability to meet cha…

SQLite3

数据库简介 常用的数据库 大型数据库:Oracle 中型数据库:Server 是微软开发的数据库产品,主要支持 windows 平台。 小型数据库:mySQL 是一个小型关系型数据库管理系统,开放源码 。(嵌入式不需要存储太多数据。) SQL…

点云从入门到精通技术详解100篇-基于点云数据的机器人装焊 过程在线测量(下)

目录 装焊过程在线测量技术研究 4.1 测量参数介绍 4.1.1 筋板定位测量参数

Rust个人学习之结构体

第一反应,Rust结构体跟python的很像,不知道感觉对不对; 书中提到第一反应,Rust结构体跟python的很像,不知道感觉对不对; 书中提到:结构体是一种自定义数据类型,它允许命名多个相关的…

Seaborn画图颜色和给定的RGB hex code不一致

使用以下代码画图: import seaborn as sns import matplotlib.pyplot as plt plt.figure(dpi150) x [A,B,C,D] y [164, 86, 126, 53] sns.barplot(xx, yy, color#3a923a) 得到的颜色如下图所示: 这是因为seaborn默认降低了颜色的饱和度,即…

UDP中connect的作用

udpclientNoConnect.c里边的内容如下&#xff1a; #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<arpa/inet.h> #include<sys/socket.h> #include <errno.h> #include <syslog.h…

23届万兴校招golang一面面经

问题有结合我的简历来问,面试官还是很友好的 1、你是如何学习go的(扩展讲) go语言的基本概念和语法&#xff0c;上手golang开源项目跟架构(gin,gorm)&#xff0c;资料找官网。 2、项目深挖 为什么选择gin? Gin路由使用了前缀树算法&#xff0c;beego路由使用的正则算法和较为重…

基于 Flink CDC 打造企业级实时数据集成方案

本文整理自Flink数据通道的Flink负责人、Flink CDC开源社区的负责人、Apache Flink社区的PMC成员徐榜江在云栖大会开源大数据专场的分享。本篇内容主要分为四部分&#xff1a; CDC 数据实时集成的挑战Flink CDC 核心技术解读基于 Flink CDC 的企业级实时数据集成方案实时数据集…

独立版求职招聘平台小程序开发

小程序招聘系统开发 我们开发了一款高效、便捷的互联网招聘平台。在这里&#xff0c;可以轻松实现企业入驻、职位发布、在线求职、精准匹配职位和人才&#xff0c;以及参与招聘会等功能。目标是为求职者和企业搭建一个连接彼此的桥梁&#xff0c;帮助您更快地找到满意的工作&…

SpringMVC(五)SpringMVC的视图

SpringMVC中的视图是View接口&#xff0c;视图的作用渲染数据&#xff0c;将模型Model中的数据展示给用户 SpringMVC视图的种类很多&#xff0c;默认有转发视图(InternalResourceView)和重定向视图(RedirectView) 当工程引入jstl的依赖&#xff0c;转发视图会自动转换为JstlV…

深度学习 loss 是nan的可能原因

1 loss 损失值非常大&#xff0c;超过了浮点数的范围&#xff0c;所以表示为overflow 状态下的男。 解决办法&#xff1a; 减小学习率&#xff0c;观察loss值是不是还是nan 在将数据输入模型前&#xff0c;进行恰当的归一化 缩放 2 loss 的计算中存在除以0&#xff0c; log(0…

Java架构师软件架构开发

目录 1 基于架构的软件开发导论2 ABSD架构方法论3 ABSD方法论具体实现4 ABSD金融业案例5 基于特定领域的软件架构开发导论6 DSSA领域分析7 DSSA领域设计和实现8 DSSA国际电商平台架构案例9 架构思维方法论概述10 AT方法论和案例想学习架构师构建流程请跳转:Java架构师系统架构…

应用软件安全编程--25考虑对函数指针进行加密

在某些情况下&#xff0c;攻击者可以通过修改内存甚至函数指针来执行任意代码。为了减少这类攻击的影 响&#xff0c;函数指针应该在运行时进行加密&#xff0c;并在执行程序时才进行解密。 对于考虑对函数指针进行加密的情况&#xff0c;示例1给出了不规范用法(C/C 语言)示…

Unity UI设计 软件构造实验报告

实验1: 仿真系统的UI主界面设计 1.实验目的 &#xff08;1&#xff09;熟悉Unity中UI界面的设计与编写&#xff1b; &#xff08;2&#xff09;熟悉UI界面中场景转换,UI与场景内容相互关联的方式。 &#xff08;3&#xff09;熟悉Unity中MySQL数据库的操作 2.实验内容 新建…

设计模式—单一职责原则

1.背景 单一职责原则&#xff08;SRP&#xff1a;Single responsibility principle&#xff09;又称单一功能原则&#xff0c;面向对象五个基本原则&#xff08;SOLID&#xff09;之一。它规定一个类应该只有一个发生变化的原因。该原则由罗伯特C马丁&#xff08;Robert C. Ma…

生成式AI与大语言模型,东软已经准备就绪

伴随着ChatGPT的火爆全球&#xff0c;数以百计的大语言模型也争先恐后地加入了这一战局&#xff0c;掀起了一场轰轰烈烈的“百模大战”。毋庸置疑的是&#xff0c;继方兴未艾的人工智能普及大潮之后&#xff0c;生成式AI与大语言模型正在全球开启新一轮生产力革新的科技浪潮。 …

【C语言】深入理解指针(四)

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 ✏️真正相信奇迹的家伙&#xff0c;本身和奇迹一样了不起啊&#xff01; 欢迎大家关注&#x1f50d;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;>希望看完我的文章对你有小小的帮助&am…

帝国cms开发一个泛知识类的小程序的历程记录

#帝国cms小程序# 要开发一个泛知识类的小程序&#xff0c;要解决以下几个问题。 1。知识内容的分类。 2。知识内容的内容展示。 3。知识内容的价格设置。 4。用户体系&#xff0c;为简化用户的操作&#xff0c;在用户进行下载的时候&#xff0c;请用户输入手机号&#xff…

【HarmonyOS】API6上JS实现视频播放全屏播放时,会回到之前界面

【关键字】 API6 / 视频播放 / 全屏播放异常 【问题现象】 开发者在API6上用JS实现视频播放器点全屏播放后&#xff0c;不是全屏效果&#xff0c;实际效果是变成了横屏并返回到首页。 具体代码实现是参考video媒体组件指南。 【问题分析】 JS实现视频播放器有Codelab代码示…

DedeBIZ 管理系统 DedeV6 v6.2.6 社区版 免费授权版

DedeBIZ 系统&#xff1a;开源、安全、高效的 DedeV6 v6.2.6 社区版 DedeBIZ 系统是基于 PHP 7 版本开发的&#xff0c;具有强大的可扩展性&#xff0c;并且完全开放源代码。它采用现流行的 Go 语言设计开发&#xff0c;不仅拥有简单易用、灵活扩展的特性&#xff0c;还具备更…