【shell脚本】for循环语句

一、循环与遍历

1.1循环

  • 循环 (Loop) 是计算机编程中非常重要的一种结构,其主要目的是为了简化代码编写,提高代码的重复利用率,以及提高程序的效率。

1.2遍历

  • 遍历是指对一组数据结构中的每个元素进行一次访问的过程。
  • 在计算机编程中,常常需要对数组、列表、树等数据结构中的每个元素进行遍历,以便对它们进行操作或者输出。

1.3循环与遍历

  • 循环是一种控制流程的结构,用于重复执行一段代码,而遍历是一种数据操作的过程,用于访问并处理数据结构中的每个元素。
  • 在某些情况下,循环和遍历可以结合使用,以便在循环中遍历数据结构并对其进行操作。

二、for循环

2.1for循环的基本格式

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

for (i=0;i<=5;i++)
do
  echo
  done
  
for ((;;))

在这里插入图片描述

在这里插入图片描述

2.2for循环小实验

批量添加用户并给用户设置密码为123

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

2.3双层for循环实验

常用的转义字符
echo -n :表示不换行输出
echo -e :输出转义字符,将转义后的内容输出到屏幕上

  • 只有加了-e才能执行下面的转义符:
  • \b :转义后相当于按退格键(backspace),但前提是\b"后面存在字符:\b"表示删除前一个字符,"\b\b"表示删除前两个字符。
  • \c :不换行输出,在““后面不存在字符的情况下,作用相当于 echo -n: 但是当\c"后面仍然存在字符时,”\c"后面的字符将不会被输出。
  • \n:换行,被输出的字符从"\n"处开始另起一行。
  • \f :换行,但是换行后的新行的开头位置连接着上一行的行尾。
  • \v:与\f相同。
  • \t:转以后表示插入tap,即横向制表符。
  • \r : 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符,但是当“"后面不存在任何字符时,“\r"前面的字符不会被覆盖
  • \:表示插入\本身。

实验:制作乘法口诀表

for i in {1..9} #外层循环,循环九次
do
 for ((a=1;a<=i;a++)) #内层循环,每一次外层循环循环几次a<=i表示每一次内层循环的次数不得大于外层
do
 echo -ne "$i*$a=$(($i*$a))\t" #使用转义字符输出可查看上面表壳
done
 echo #echo什么都不加表示输入换行输出
done

在这里插入图片描述

三、while循环

  • while循环满足条件即执行,不满足不执行

3.1 while格式

i=0 #需要在循环外先定义变量
while [ $i -le 5 ] #while判断条件
do
 let i++  
 echo $i   #执行循环动作
done  #结束
~    

while true #表示死循环

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

四、跳出循环

4.1continue跳出循环实验

  • 表示满足continue条件时跳出循环,但是不影响后续循环执行,它的作用是在循环内部跳过本次循环并执行下次循环

for i in {1..3} #外层循环三次
do
for a in {1..3} #每一次外层循环内层循环都循环三次
do
 if [[ $a = 2 ]] 
then
 continue     #当内存循环到数字2的时候跳出内存循环,继续往后执行
fi
 echo -n "$a" #输出内存循环
done
 echo
done

在这里插入图片描述
continue后面什么都不加,默认跳出一层循环,continue 2表示跳出两次循环,以此类推

4.2break跳出循环实验

  • 在某个循环中遇到break直接结束此次循环,但不影响外面嵌套的循环。
  • break 【数字】:表示结束几层循环,2表示结束当前和上一层循环,以此类推。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值