Shell—几种循环操作

前言:在写Shell脚本时,对于循环的几种写法,我想大家并不陌生。但若不是经常写,也会遗忘一些循环语法,或者只能够想起某一两种语法编写脚本。本文就来总结一下Shell中经常使用的循环操作,以及各种操作之间的区别和不同作用。

测试代码

在编写Shell的几种循环语句之前,先写个main测试函数来验证这几种循环操作,代码如下:

#!/bin/bash

# Create 2021-5-29 17:08
# Author Caso_卡索

main()
{
    echo "input loop kind 1~5"
    read kinds
    case $kinds in
        1)
            one_loop
            ;;
        2)
            two_loop
            ;;
        3)
            three_loop
            ;;
        4)
            four_loop
            ;;
        5)
            five_loop
            ;;
        *)
            echo "Please input 1-6"
        esac
}
第一种循环写法
one_loop()
{
    for((i=0; i<5; i++)) {
        echo $i
    }
}
第二种循环写法
two_loop()
{
    local i=0
    while((i<5))
    do
        let i++
        echo $i
    done
}
第三种循环写法

这类用法是将文件 data.log 通过 read 命令按行读取,每次打印当前所读取的一行内容

three_loop()
{
    while read line
    do
        echo $line
    done < data.log
}
第四种循环写法

这种是先将 data.log 文件中的内容通过子shell存储到临时缓存,在由 for in 语句循环使用

four_loop()
{
    for i in $(cat data.log)
    do
        echo $i
    done
}
第五种循环写法
five_loop()
{
    while true
    do
        echo "Hello Shell Loop"
    done
}
# 在最后调用main函数
main

执行效果如下图示:
result

以上是本人总结的几种Shell的循环写法,有其他方式的写法欢迎下方评论 ~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Caso_卡索

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

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

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

打赏作者

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

抵扣说明:

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

余额充值