shell脚本中常用循环小解

for循环
for循环可以用来循环处理一个已知的数据序列,例如:

bash
for i in {1..10}
do
  echo "Number: $i"
done

上述代码将会输出数字1到10,每个数字一行。
while循环
while循环可以用来在满足某个条件的情况下,一直执行某个命令或一组命令。例如

bash
count=0
while [ $count -lt 5 ]
do
  echo "Count: $count"
  count=$((count+1))
done

上述代码将会输出数字0到4,每个数字一行。
until循环
until循环和while循环非常相似,只不过条件判断是相反的。例如:

bash
count=10
until [ $count -lt 5 ]
do
  echo "Count: $count"
  count=$((count-1))
done

上述代码将会从数字10开始递减,直到数字小于5为止,每个数字一行。
这些是Shell脚本中最常用的循环语句,可以根据不同的需求选择不同的循环语句进行使用。

除了 for、while 和 until 循环之外,Shell 脚本中还有其他一些循环结构。
select 循环
select 循环结构主要用于菜单选择,它允许用户在一组选项中进行选择。例如:

bash
PS3='Please enter your choice: '
options=("Option 1" "Option 2" "Option 3" "Quit")
select opt in "${options[@]}"
do
    case $opt in
        "Option 1")
            echo "You chose Option 1"
            ;;
        "Option 2")
            echo "You chose Option 2"
            ;;
        "Option 3")
            echo "You chose Option 3"
            ;;
        "Quit")
            break
            ;;
        *) echo "Invalid option $REPLY";;
    esac
done

上述代码将会在屏幕上显示一个菜单,让用户选择其中一个选项。如果用户选择 Quit 选项,select 循环就会结束。
for...in 循环
for...in 循环是另一种 for 循环的变体,用于遍历一组元素(例如数组)或迭代一个序列。例如:

bash
fruits=("apple" "banana" "orange" "kiwi")
for fruit in "${fruits[@]}"
do
    echo "I like $fruit"
done

上述代码将会遍历 fruits 数组中的所有元素,并输出每个元素。
while read 循环
while read 循环用于从文件中逐行读取内容。例如:

bash
while read line
do
    echo $line
done < myfile.txt

上述代码将会从 myfile.txt 文件中逐行读取内容,并输出每一行。

除了上述介绍的循环结构,Shell 脚本还有其他一些循环语句,如下所示:
while...do 循环
while...do 循环是基本的 while 循环结构,它会在条件为真时不断地执行一组命令,直到条件为假。例如:

bash
i=0
while [ $i -lt 10 ]
do
    echo $i
    i=$((i+1))
done

break 和 continue 语句
break 和 continue 语句可以在循环中控制流程。break 语句可以用于跳出循环,continue 语句可以用于跳过循环中的某些操作。例如:

bash
for i in {1..10}
do
    if [ $i -eq 5 ]
    then
        continue
    fi
    if [ $i -gt 8 ]
    then
        break
    fi
    echo $i
done

上述代码将会输出 1 到 4 的数字和 9 的数字。
以上是 Shell 脚本中常用的循环结构和控制语句,掌握这些语句可以帮助我们编写更加灵活和高效的脚本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT大白鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值