Linux shell编程之循环语句

本文介绍了LinuxShell脚本中的循环结构,包括for、while和until循环,以及break和continue命令的使用。举例说明了如何计算数列之和,并提供了一个有趣的猴子与香蕉问题,展示了如何用循环解决数学问题。
摘要由CSDN通过智能技术生成

目录

for循环

while循环

until循环

跳出循环

break 命令

continue 命令

操作试验

1.计算从1到100所有整数的和

2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

3.某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第十天,猴子发现只剩一根香蕉了,请问这只猴子在第一天总共摘了多少根香蕉?


for循环

for 循环一般用于遍历序列,如列表或者数组。

基本语法如下:

for 变量名称(注意是名称不是变量$等) [ in 名称范围 ] (可以不写)

do

执行内容 若满足循环则做什么动作

done  //for循环结束标志

类C语言格式

表达式1:定义变量并赋值

表达式2:决定是否循环

表达式3:决定循环变量如何改变,决定循环什么时候结束

for (( 表达式1 ;表达式2;表达式3 ))

do

执行内容 若满足循环则做什么动作

done for循环结束标志

for var in list
do
    command1
    command2
    ...
    commandN
done

 例如,打印 1 到 5 的数字:

for i in {1..5}
do
   echo "Number is $i"
done

while循环

while 循环一般用于当某条件为真时,执行循环体。

基本语法如下:

while [ 判断条件] 使用while循环满足条件执行do,不满足不执行

do

执行动作 while循环执行动作

done while循环结束标志

死循环语句

while [1 -eq 1] 判断条件写一个永久为真的条件

do 一直执行do内的命令

done

while true 直接写判断条件为真

do  //一直执行do内的命令

done

while : 判断条件为冒号也表示死循环

do  //一直执行do内的命令

done

while [ condition ]
do
    command1
    command2
    ...
    commandN
done

 例如,打印 1 到 5 的数字:

i=1
while [ $i -le 5 ]
do
   echo "Number is $i"
   i=$(( i+1 ))
done

until循环

until 循环与 while 循环类似,但是 until 循环会一直执行,直到给定的条件为真。

基本语法如下:

until [ 条件测试操作 ]

do

判断式/命令序列

done

until [ condition ]
do
    command1
    command2
    ...
    commandN
done

 例如,打印 1 到 5 的数字:

i=1
until [ $i -gt 5 ]
do
   echo "Number is $i"
   i=$(( i+1 ))
done

跳出循环

在 Linux Shell 脚本中,可以使用 break 和 continue 两个命令来控制循环的执行。

break 命令

break命令用于终止整个循环,不论条件是否满足。例如:

for i in {1..5}
do
   if [ $i -eq 4 ]
   then
      break
   fi
   echo "Number is $i"
done

#上面的脚本将只打印 1 、2、3,当 i 等于 4 的时候,`break` 命令会终止整个循环。

continue 命令

continue命令用于跳过当前迭代,进入下一次迭代。例如:

for i in {1..5}
do
   if [ $i -eq 3 ]
   then
      continue
   fi
   echo "Number is $i"
done

#上面的脚本将打印 1、2、4 和 5,当 i 等于 3 的时候,`continue` 命令会跳过当前迭代,进入下一次迭代。

操作试验

1.计算从1到100所有整数的和

 

2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

 

3.某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第十天,猴子发现只剩一根香蕉了,请问这只猴子在第一天总共摘了多少根香蕉?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值