for与while循环以及exit、continue、break

本文详细讲解了shell编程中的for循环、while循环、双层和三层循环,以及exit、continue、break的用法。通过实例演示了如何创建用户、改名、制作九九乘法表,展示了控制结构在实际操作中的应用。

目录

一、for循环语句

二、While循环

三、双层循环    三层循环

四、exit、continue和break


一、for循环语句

读取不同的变量值,用来逐个执行同一组命令

for循环经常使用在已经知道要进行多少次循环的场景

格式:

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

 示例1: 循环出0到10之间的整数

法一:

#!/bin/bash
for i in {1..10}
  do
    echo $i
  done


 
法二:

#!/bin/bash
for i in $(seq 1 10)
do
  echo $i
done


 

 示例2:求1..10奇数和

#/bin/bash
sum=0
for i in {1..10..2}
do
  sum=$[sum+i]
  let i++
done

echo "10以内的奇数和为:$sum"


示例3:批量创建用户并修改密码

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


示例4:批量改名

#!/bin/bash
cd /data1
for i in *
do
name=`echo $i |cut -d "." -f1`
mv $i ${name}.bak

遍历    迭代    递归

二、While循环

For是遍历的循环

而while循环是判断条件,从而进行指令

Demo用while批量添加用户

Demo2

解:

用let a++等效于exit

Until循环

Demo1:

输出1到10的和:

for循环一般在正常执行的时候是一个进程串行执行的取值列表

多线程并行执行

Wait是为了等待上面的命令执行完了之后,再去执行后面的cat命令,如果没有wait后面的语句是不会等待后台进程的,会造成一些需要有上下文依赖关系的程序执行错误

For循环的分隔符     

IFS    默认是   空格   制表符\t      换行符\n

For循环的三个分割符号

Demo:

像PATH这样的文件里面路径,想要分行输出,是以冒号为分隔符

如何用while循环去读取文件

#line为变量名

综合格式

While read变量名

do

Done

For while  until 都是单层循环

三、双层循环    三层循环

外层循环没执行一次,内层循环都要全部执行完毕后,下一次外层循环才能再执行

把内层循环看做是外层循环的一个命令语句

Exit               退出shell脚本进程exit执行后,后面的语句都不会执行

执行结果:

外部执行一次,内部执行三次

Break              跳出单层循环,break2  跳出2层循环,循环以外的语句,仍然会执行,循环内的break后面的语句仍然会执行

执行结果

外部循环执行5次,内部执行3次

Continue    用于终止某次循环的执行,但不会完全终止整个循环

Demo

制作一个九九乘法表:

外循环表示行

内循环表示列

采用制表符可以很清楚的列出表格

四、exit、continue和break


exit:退出shell脚本进程。Exit执行后,脚本后的语句都不会再执行。

break 有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。 这时我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。

continue continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。 可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。

continue和break使用方法:

break:

1、语法 break 将用于以下break语句退出循环:

2、break n 这里n指定的第n个封闭的循环退出。

continue:

1、语法 continue 和break语句一样,一个整数参数可以给continue命令跳过嵌套循环的命令。

2、continue n 这里n指定第n个封闭循环 continue 。
 

Exit(0-255)  退出shell脚本,并且可以返回指定状态码

Break      指的是跳出当前循环体,去执行循环后面的操作

Continue  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chiu莓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值