Linux及shell脚本学习笔记----5 流程控制

本文详细介绍了Shell脚本中各种循环结构的使用方法,包括if/elif/else条件判断、for循环的不同形式(如带列表的for循环、不带列表的for循环、类C的for循环)、while循环以及循环控制命令等,并提供了丰富的示例代码。

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

1 判断

1.1 if/elif/else的使用

语法结构

if expression1; then
        command1
elif expression2; then
        command2
elif expression3; then
        command3
...
fi

例子

#!/bin/bash
echo -n "Please input a score:"
read SCORE
if [ "$SCORE" -lt 60 ]; then
         echo "C"
elif [ "$SCORE" -lt 80 -a "$SCORE" -ge 60]; then
         echo "B"
else 
         echo "A"
fi

2 for循环

2.1 带列表的for循环

语法结构:

for VAR in (list)
do
      command
done

例子:

#!/bin/bash
fruits="apple orange banana"

for FRUIT in ${fruits}
do 
      echo "$FRUIT is John's favorite"
done
#!/bin/bash
sum=0
for VAR in `seq 1 100`
do 
      let "sum+=VAR"
done
echo "Total: $sum"
运行结果:
Total: 5050

2.2 不带列表的for循环

for VARIABLE
do
      command
done

例子:一个 list.sh

for VARIABLE
do
      echo -n "$VARIABLE "
done

运行时向脚本传递参数:bash list.sh 1 2 3
结果:1 2 3
可以利用$@改写上述结构:

#!/bin/bash
for VARIABLE in $@
do
      echo -n $VARIABLE
done

2.3 类c的for循环

for ((expr1; expr2; expr3))
do
      command
done

例子:

#!/bin/bash
for ((i=1; i<10; i++))
do 
      echo -n "$i "
done

3 while循环

3.1 语法

while expr
do 
      command
done

例子:

#!/bin/sh
COUNTER=5
while [[ $COUNTER -gt 0 ]]
do
      echo -n "$COUNTER"
      let "COUNTER-=1"
done

4 嵌套循环

#!/bin/bash
for ((i=1; i<=9; i++))
do
      for ((j=1; j<=9; j++))
      do
            let "multi=$i*$j"
            echo -n "$i*$j=$multi "
      done
      echo
done
i=1
while [[ "$i" -le "9"]]
do
       j=1
       while [[ "$j" -le "9" ]]
       do
             let "multi=$i*$j"
             echo -n "$i*$j=$multi "
             let "j+=1"
       done
       echo
       let "i+=1"
done

5 循环控制

5.1 break

5.2 continue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值