目录

一.for循环

1.基本格式

2.脚本小仓库

2.1 打印一列问号

2.2 打印正方形

2.3 九九乘法表

2.4 求1..10奇数和

2.5  批量创建用户并修改密码

2.6 1累加到100方法一

2.7 1累加到100方法二

二.while循环

1.基本格式

2.脚本小仓库

2.1 猜价格小游戏

2.2 1累加到100方法三

三.until循环

1.基本格式

2.脚本小仓库

2.1 1累加到100方法四

四.嵌套循环

五.循环语句中的break、exit和continue的使用

1.break的使用

2.exit的使用

3.continue的使用


一.for循环

1.基本格式

读取不同的变量值,用来逐个执行同一组命令,经常使用在已经知道要进行多少次循环的场景。

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

2.脚本小仓库

2.1 打印一列问号

#!/bin/bash
for i  in {1..9}
do
echo -e " ? "
done

2.2 打印正方形

#!/bin/bash
for j in {1..9}
do
for i  in {1..9}
do
echo -e " * \c"
#\c换行
done
echo
#换行
done

2.3 九九乘法表

#!/bin/bash
for j in {1..9}dofor i in `seq $j`doecho -e "${i}x${j}=$[i*j] \t\c"#\t tab键可以对齐doneecho
done

2.4 求1..10奇数和

#/bin/bash
sum=0
for i in {1..10..2}
dosum=$[sum+i]let i++
done
echo "10以内的奇数和为:$sum"

2.5  批量创建用户并修改密码

#!/bin/bash
for user in {1..10}doecho stu${user}|xargs -n1 useraddecho "123123"|passwd --stdin stu${user}done

2.6 1累加到100方法一

#!/bin/bash
sum=0
for ((i=0;i<=100;i++))
do
sum=$[i+sum]
done
echo sum=$sum

2.7 1累加到100方法二

#!/bin/bash
sum=0
for i in {1..100}
do
let sum=$i+$sum
#sum=$[i+sum]
#两种方法都可以
done
echo sum=$sum

二.while循环

1.基本格式

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

格式:
while  [ 条件测试操作 ]
do                      #do代表循环的开始判断式/命令序列
done                    #done代表循环的结束

2.脚本小仓库

2.1 猜价格小游戏

#!/bin/bash
p=`echo $[RANDOM%1000+1]`
time=0while true
do
let time++
read -p "请输入您猜测的价格(1-1000):" h
if [ $h -eq $p ]
then
echo "恭喜您猜中了,您一共猜测了$time次"
exit
elif [ $h -gt $p ]
then
echo "您猜测的价格过高"
else
echo "您猜测的价格过低"
fi
done

2.2 1累加到100方法三

#!/bin/bash
i=0
sum=0
while [ $i -le 100 ]
do
sum=$[i+sum]
let i++
done
echo $sum

三.until循环

1.基本格式

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

格式:
until  [ 条件测试操作 ]
do判断式/命令序列
done

2.脚本小仓库

2.1 1累加到100方法四

#!/bin/bash
sum=0
i=0
until [ $i -gt 100 ]
dosum=$[sum+i]let i++
done
echo "{1..100}的和:$sum"

四.嵌套循环

在循环内部再使用一个循环称为嵌套循环

格式:
#!/bin/bash
for ((i=1;i<5;i++))
doecho 此${i}为外部循环for((j=1;j<4;j++))doecho -e "\t此${j}为内部循环"done
done

五.循环语句中的break、exit和continue的使用

1.break的使用

当满足条件的情况下break会跳出当前循环体

#!/bin/bash
for ((i=1;i<5;i++))
do      echo 此${i}为外部循环for((j=1;j<4;j++))doif [ $j -eq 3 ]            <------如果j的值为3thenbreak              <------跳出当前循环(内部)fi  echo -e "\t此${j}为内部循环"done
done

2.exit的使用

当满足条件的情况下exit会直接退出当前脚本

#!/bin/bash
for ((i=1;i<5;i++))
doecho 此${i}为外部循环for((j=1;j<4;j++))doif [ $j -eq 3 ]                  <------如果j的值为3thenexit                       <------结束当前脚本fiecho -e "\t此${j}为内部循环"done
done

3.continue的使用

continue中止某次循环中的命令,但不会完全中止整个命令

#!/bin/bash
for ((i=1;i<5;i++))
doecho 此${i}为外部循环for((j=1;j<4;j++))doif [ $j -eq 2 ]                  <------如果j的值为2thencontinue                   <------中止循环中本次的命令,但不会完全中止整个循环或脚本fiecho -e "\t此${j}为内部循环"done
done

Shell脚本之循环语句——for循环、while循环、until循环相关推荐

  1. shell脚本之until语句和函数

    文章目录 shell脚本之until语句.函数和数组 一.until语句 1.1until语句结构 1.2until语句的应用 1.2.1通过循环累加的方式计算1-100的和 1.2.2 为制定用户发 ...

  2. 成功解决for循环语句中,后几次循环输出数据一直全部为空

    成功解决for循环语句中,后几次循环输出数据一直全部为空 目录 解决问题 解决思路 解决方法 解决问题 for循环语句中,后几次循环输出数据一直全部为空

  3. linux shell脚本执行sql语句建表建库

    linux shell脚本执行sql语句建表建库 1. 创建sql脚本 2. 创建shll脚本 1. 创建sql脚本 创建contract_ddl.sql -- 创建数据库contract_user ...

  4. linux循环条件,shell脚本编写 之 条件选择,条件判断,循环语句

    1 概述 编写shell脚本,一般离不开条件选择,条件判断以及循环语句.掌握这三个语法,将大大提高脚本的编写效率,使得脚本编写更加灵活,完成X相对复杂的工作 2 条件选择if语句 if语句选择执行,逐 ...

  5. shell脚本(二)--if流程控制语句和for循环语句的使用

    理论部分: 1.在简单的脚本中各条语句按顺序执行,从而实现自动化的管理, 顺序单一执行太过机械化,不够"智能",难以实现更加灵活的系统任务. 例如:批量安装软件包 100台机器 5 ...

  6. shell脚本编程学习笔记8(XDL)——流程控制和循环

    shell脚本编程学习笔记8--流程控制和循环 1,if语句 1,框架 1,单分支:if [条件判断式] ;thenprogramfiif [条件判断式]thenprogramfi注意:if语句使用f ...

  7. 【shell】shell脚本Linux环境mutt发送邮件(实现单邮件循环发送和根据条件循环发送)

    之前用过shell脚本发送报表,不过都是单个脚本发送一个报表,最近使用到根据条件循环发送报表的情况,也从同事那里学到这个技能.这里对shell发送邮件做一些总结. 目录 1.单个脚本实现单封邮件的发送 ...

  8. python循环语句-详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  9. python while循环语句-谈谈Python中的while循环语句

    前言 python中有两种循环,while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组. ...

  10. Shell脚本调用mysql语句

    方法一: mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句. 不用在mysql的提示符下运行mysql,即可以在shell中 ...

最新文章

  1. 计算机编辑功能在哪,注册表编辑器怎么打开-电脑的剪切板在哪里 电脑剪切板里面的内容怎么修改...
  2. rocket mq整体架构
  3. oracle 序列的使用
  4. 【华科考研机试题】最长最短文本
  5. [转]要有梦----送给自己,希望自己能尽快走出当前的痛苦期
  6. “搬砖”机器人,每小时800块!
  7. c语言读入图片matlab,将数据从matlab文件读入C语言
  8. wampserver3.2.0_MySQL 8.0 技术详解
  9. 山科大离散数学期末考试_西安电子科技大学网络与继续教育学院 2020 学年上学期 《离散数学》期末考试试题...
  10. 中文文本纠错论文解读——Adaptable Filtering using Hierarchical Embeddings for Chinese Spell Check
  11. html单元格文字首行缩进,刘启智问:excel里怎么首行缩进 Excel在表格中的文字要首行缩进二字符,该如何设置?...
  12. mysql 1556_mysqldump: Got error: 1556: You can't use locks with log tables.
  13. IE、360、百度三者的比较
  14. 在线vr高清3d展示线上三维展示平台
  15. 技术分析中的五种常见指标
  16. IOS 监控屏幕旋转
  17. Android Studio 报错提示:Skipped due to earlier error
  18. 担心侵权?必备无版权素材网站分享,不用担心视频剪辑缺素材
  19. 【无人机】基于A星算法实现三维栅格地图路径规划matlab代码
  20. 怎么样彻底删除mysql_如何彻底删除MySQL数据库?

热门文章

  1. 网站友情链接怎么做最好,友情链接如何做详细解读
  2. MTK MT6739P 项目克隆脚本
  3. 细胞凋亡通路 | MedChemExpress
  4. 高精度精密钢管如何生产 钢管测径仪进行质量把关
  5. 高校模拟法庭整体解决方案解决法学教学难题
  6. Linux下安装Go及环境配置
  7. Proxmox VE 物理环境修改后配置联网
  8. Knockout.js学习笔记----介绍
  9. 小米“抢跑”?20秒的折叠屏手机视频流出 1
  10. 全球最动听的英文花名