Shell编程之循环语句 for while until

在这里插入图片描述

Shell编程之循环语句 for while until

  • 一. 循环语句
    • 1.for语句结构
    • 2.while语句结构
    • 3.until语句结构

一. 循环语句

1.for语句结构

for 语句用来 遍历 集合或列表。
shell 中有两种用法:

for i in $(seq 1 5);for i in {1…5};for i in $(seq 5)
for ((i=1;i<=5;i+=2));

  • 读取不同的变量值,用来逐个执行同一组命令

Shell编程之循环语句 for while until_第1张图片

计算从1100所有整数的和

#!/bin/bash

sum=0

for i in {1..100}
do
        sum=$[$sum + $i ]

done
        echo $sum


#!/bin/bash
#.求从1100所有整数的偶数和、奇数和
sum=0

for ((i=1; i<=100; i+=2))
do
        sum=$[ $sum + $i ]
done
        echo "奇数和为:$sum"

sum1=0

for ((a=2; a<=100; a+=2))
do
        sum1=$[ $sum1 + $a ]

done
        echo "偶数和为:$sum1"

2.while语句结构

  • 重复测试某个条件,只要条件成立则反复执行
  • Shell编程之循环语句 for while until_第2张图片
    Shell编程之循环语句 for while until_第3张图片
#!/bin/bash

a=1

while [ $a -le 10 ]
do
        echo $a
        a=$[ $a + 1 ]


done
echo "最后的值为:$a"

#!/bin/bash
# 批量添加用户 以stu开头,20个用户 stu1,stu2  密码12313
a=1

while [ $a -le 20 ] do
        useradd stu$a
        echo 123123 | passwd --stdin stu$a
        a=$[ $a + 1 ]

done
#!/bin/bash
# 猜价格 中奖品
sorce=$[$RANDOM % 1000]

a=1
num=0
while [ $a -lt 2 ]
do
        read -p "请输入你猜的价格(1-999之间):" price
        if [ $price -eq $sorce ];then
        echo "恭喜你猜对了!"
        num=$[ $num + 1 ]
        a=$[ $a + 1 ]

        elif [ $price -gt $sorce ];then
        echo "你猜高了!"
        num=$[ $num + 1 ]


        elif [ $price -lt $sorce ];then
        echo "你猜低了!"
        num=$[ $num + 1 ]
        fi

done

3.until语句结构

  • 重复测试某个条件,只要条件不成立则反复执行

Shell编程之循环语句 for while until_第4张图片

#!/bin/bash
#不满足a>10 的都输出出来
a=1

until [ $a -gt 10 ]
do
        echo $a
        a=$[ $a + 1 ]


done
  • 如何调试 bash 脚本?
    将 -xv 参数加到#!/bin/bash 后

你可能感兴趣的:(shell,shell)