Shell脚本中的for,while用法

本文详细介绍了Bash脚本中for和while循环的使用方法,包括带列表的for循环、无列表的for循环、类C风格的for循环以及while循环的几种形式。通过实例演示了如何利用这些循环结构进行计数、条件判断等操作。

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

1. for循环格式

带列表的for循环

for  var  in {1..10}
# for var in {1,2,3,4,5,6,7,8,9,10}
do
command
...
done

for var in {1..50..2}
#for var in {1,3,5,7,9..,49}
do
command
...
done
类C的for循环
for((integer = 1; integer <= 5; integer++))  
do  
command
...  
done  
无列表的for循环
for argument  
do  
command
...
done  

2. while循环格式

while expression
do
command
command
```
done
#!/bin/bash  
#计数器控制的while循环  
sum=0  
  
i=1  
  
while(( i <= 100 ))  
do  
     let "sum+=i"  
     let "i += 2"     
done  
  
echo "sum=$sum"

#!/bin/bash  
#结束标记控制的while循环  
echo "Please input the num(1-10) "  
read num  
  
while [[ "$num" != 4 ]]  
do   
   if [ "$num" -lt 4 ]  
   then  
        echo "Too small. Try again!"  
        read num  
   elif [ "$num" -gt 4 ]  
   then  
         echo "To high. Try again"   
         read num  
   else  
       exit 0  
    fi  
done   
  
echo "Congratulation, you are right! " 
#!/bin/bash  
#标志控制的while循环  
echo "Please input the num "  
read num  
  
sum=0  
i=1  
  
signal=0  
  
while [[ "$signal" -ne 1 ]]  
do  
    if [ "$i" -eq "$num" ]  
    then   
       let "signal=1"  
       let "sum+=i"  
       echo "1+2+...+$num=$sum"  
    else  
       let "sum=sum+i"  
       let "i++"  
    fi  
done  

#!/bin/bash  
#命令行控制的while循环  
echo "number of arguments is $#"  
  
echo "What you input is: "  
  
while [[ "$*" != "" ]]  
do  
    echo "$1"  
    shift  
done  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值