shell循环loop

本文详细介绍了Shell脚本中的循环结构,包括while、until、for等不同类型的循环使用方法,帮助读者掌握在Shell中进行循环操作的核心技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 循环


shell循环,不断执行某段程序,直到符合条件。
循环分为4种, while循环,until循环,for固定处理, for数值处理。

2. while循环


while循环是一直执行,直到条件不符合,才停止。
语法:
while [ condition ]
do
//do something
done
例: 循环直到用户输入正确
#!/bin/bash

# desc : while loop

while [ "$yn" != "yes" -a "$yn" != "YES" ] 
do 
    read -p "Please input yes/YES to stop : " yn
done

echo "OK"
执行结果:
[work@www sh]$ sh while.sh 
Please input yes/YES to stop : no
Please input yes/YES to stop : yes
OK
[work@www sh]$ 
例:从1加到100
#!/bin/bash

# desc : while loop

sum=0
i=0

while [ $i -lt 100 ]
do
    i=$(($i+1));
    sum=$(($sum+$i))
done

echo "From 1 to 100, sum is : " $sum 

3. until循环


until循环和while相反,当条件condition成立时,终止循环。
语法:
until [ condition ]
do
//do something
done
例:
#!/bin/bash

# desc : while loop


until [ "$yn" == "yes" -o "$yn" == "YES" ]
do
    read -p "Please input yes/YES to stop : " yn
done
echo "OK"
执行:
[work@www sh]$ sh while.sh 
Please input yes/YES to stop : hi         
Please input yes/YES to stop : yes
OK
[work@www sh]$ 

4. for固定循环


for为已知次数的循环。
语法:
for var in con1 con2 ..
do
//do something
done
例:
#!/bin/bash

# desc : for loop
for animal in dog cat pig 
do
    echo "HI, ${animal}"

done
执行:
[work@www sh]$ sh for.sh 
HI, dog
HI, cat
HI, pig
[work@www sh]$
例:当前目录文件
#!/bin/bash

# desc : for loop
filelist=$(ls)
for filename in $filelist
do
    echo $filename
done

5. for数值循环


for数值循环,适用于循环数值计算。
语法
for (( 初始值; 限制值; 步长))
do
// do something
done
例:
#!/bin/bash

# desc : for loop

sum=0
for (( i=0; i<=100; i++ ))
do
    sum=$(($sum+$i))
done
echo "sum is : " $sum


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值