linux之循环控制for、while、until命令详解

22 篇文章 1 订阅

linux之循环控制for、while、until命令详解

循环控制的命令主要有for、while,until命令用的也相对较少。

一、for命令
for命令的写法主要有以下两种格式:

格式1:
for i in {1..5}
do
        echo "this is $i"
done

格式2:
for((i=1;i<10;i++ ))
do
        echo "this is $i"
done

格式1是for 变量 in 序列,之前说过4中生成序列的方式在这里均可使用
传送门:linux之生成序列seq、{}等四种方式
格式2则类似于c语言的for命令的格式,之前也说过双括号(( ))中支持多个命令
传送门:linux之 、 [ ] 、 { }、[ ]、 []( )、 [ ] 、 [ ]、 [](( ))、[[ ]]、(( ))的作用

二、while命令
while命令的写法:

i=0
while [ $i -le 10 ]
do
        echo "this is $i"
        ((i++))
done

while命令后跟判断式,判断式返回值为真则继续循环,否则退出循环。判断式同样可以使用test、[ ]、[[ ]],与if的判断式用法一致。

三、until命令
until与while相反,当判断式的返回值为假时则继续循环,当判断式为真时则退出循环

i=0
while [ $i -le 10 ]
do
        echo "this is $i"
        ((i++))
done

四、continue和break

break是退出本层循环,继续执行本层循环体后面的代码,注意是退出本层循环体,如果是嵌套循环,则退出break所在层的循环,并非所有的循环

i=-1
while [ $i -lt 10 ]
do
        ((i++))
        if [ $i -eq 5 ];then
                break
        fi
        echo "this is $i"
done
echo "程序已经结束"

结果:
this is 0
this is 1
this is 2
this is 3
this is 4
程序已经结束

可见当$i为5时,直接跳出循环,执行循环体后面的echo语句。

continue则是跳过本次循环,不再执行continue下面的代码,回到循环判断式判断是否继续执行循环

i=-1
while [ $i -lt 10 ]
do
        ((i++))
        if [ $i -eq 5 ];then
                continue
        fi
        echo "this is $i"
done
echo "程序已经结束"

结果:
this is 0
this is 1
this is 2
this is 3
this is 4
this is 6
this is 7
this is 8
this is 9
this is 10
程序已经结束

可见结果没有打印this is 5,因为当$i为5时,跳过本次循环,不执行下面的echo语句,继续回到while判断。
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Operose-honeybee

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

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

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

打赏作者

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

抵扣说明:

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

余额充值