当前位置: 首页 > article >正文

Linux Shell中的循环控制语句

Linux Shell中的循环控制语句

在编写Shell脚本时,循环是一种常用的控制结构,用于重复执行一系列命令。在Shell中,主要有三种循环控制语句:for循环,while循环,和until循环。

1. For循环

for循环是最常见的循环控制语句。它可以遍历一个列表中的每个元素,并对每个元素执行一系列命令。

for variable in list
do
    commands
done

示例:

遍历一个数字列表:

for i in 1 2 3 4 5
do
    echo "Number: $i"
done

遍历一个字符串列表:

for name in Alice Bob Charlie
do
    echo "Hello, $name!"
done

以上两个例子,默认以空格分隔元素

循环遍历数组:

colors=("red" "green" "blue" "yellow")

for color in "${colors[@]}"
do
    echo "Color: $color"
done

输出从1到10的数字:

for ((i=0;i<10;i++))
do
    echo "场景2 i is $i"
done

2. While循环

while循环会在给定的条件为真时不断执行一系列命令。

while condition
do
    commands
done

示例:

打印1到5的数字:

i=1
while [ $i -le 5 ]
do
    echo "Number: $i"
    i=$((i + 1))
done

循环和read命令遍历文件的每一行

filename="sample.txt"
while IFS= read -r line
do
    echo "Line: $line"
done < "$filename"

3. Until循环

until循环与while循环相反,它会在给定的条件为假时不断执行一系列命令。

until condition
do
    commands
done

示例:

打印1到5的数字:

i=1
until [ $i -gt 5 ]
do
    echo "Number: $i"
    i=$((i + 1))
done

循环控制命令

在循环中,有时我们需要提前结束循环或跳过当前迭代。Shell提供了两个命令来实现这些控制:breakcontinue

  • break:用于退出整个循环。
  • continue:用于跳过当前迭代,继续执行下一次迭代。

示例:

使用break退出循环:

for i in {1..10}
do
    if [ $i -eq 5 ]
    then
        break
    fi
    echo "Number: $i"
done

使用continue跳过特定迭代:

for i in {1..10}
do
    if [ $i -eq 5 ]
    then
        continue
    fi
    echo "Number: $i"
done

http://www.kler.cn/a/274305.html

相关文章:

  • 边缘智能网关助力打造建筑智慧消防物联网
  • Unity全局雾效
  • 【游戏设计原理】20 - 囚徒困境
  • Vue+element 回车查询页面刷新
  • 启用WSL后,使用ssh通道连接ubuntu
  • 多模态抽取图片信息的 Prompt
  • 代码随想录算法训练营第二十四天|leetcode78、90、93题
  • 软件测试:C++ Google Test单元测试框架GTest
  • 虚拟机VMware上 centos7 的网络配置
  • 单调栈,LeetCode 1793. 好子数组的最大分数
  • 2、鸿蒙学习-申请调试证书和调试Profile文件
  • 0基础学习VR全景平台篇第145篇:图层控件功能
  • 综合练习(python)
  • GAMES101 学习3
  • 【计算机考研】408全年复习保姆级规划+资料
  • .Net Core 中间件验签
  • 华为组网:核心交换机旁挂防火墙,基于ACL重定向配置实验
  • Maven项目如何导入依赖包
  • Nginx安装教程
  • Springboot+Redis:实现缓存 减少对数据库的压力
  • fastjson反序列化攻略
  • 解决重装系统之后,开始菜单找不到Anaconda3相关图标
  • 快速从0-1完成聊天室开发——环信ChatroomUIKit功能详解
  • Java-SpringAop 编程式事物实现
  • 如何在三个简单步骤中为对象检测标注图像
  • C语言---指针的两个运算符:点和箭头