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

shell中for循环的用法

前言

shell的for循环可以帮助我们做一些重复性非常大的事情。工作中的真实案例很多。
如:docker批量保存和加载;k8s多余pod删除(几千个的那种…);多个文件夹中的某类文件删除;批量远程执行程序(灵活,易维护,直接修改变量配置文件,不需要一行行的修改了);

三级标题


#!/bin/bash

# 指定范围循环
for num in {1,2,3,4,6,4,3,2,5}
do
	echo "$num"
done

# 循环打印文件内容
for txts in `cat hhh.txt`
do
	echo "$txts"
done


# 获取命令输入,打印内容
for the_file_in_dir in `ls /dev/ | grep tty`
do
	echo "$the_file_in_dir"
done


# 类似于编程语言的写法
for ((i=1;i<=5;i++))
do
	echo "$i"
done

# 生成序列  起始位置  步长  终点
seq 2 2 10

seq 10 -2 1

# seq 配合 for循环
for i in `seq 1 2 10`
do
	echo "$i"
done


# continue  跳过本次循环
for i in `seq 1 2 10`
do
    if [ $i -eq 7 ]
        then
	    continue
    fi
    echo $i
done

echo "###########"
# continue 2 可直接跳过本次内循环加外循环

for ((i=1;i<=3;i++))
do
  for ((j=1;j<=6;j++))
  do
    if [ $j -eq 4 ]
      then
        continue 2
    fi
    echo "$j"
  done
  echo "#"
done


#
echo "%%%%%%%%%%%%%%%%%%%"

# break  打破循环执行直接结束

for ((i=1;i<=4;i++))
do
  for ((j=1;j<=7;j++))
  do
    if [ $j -eq 3 ]
      then
        break
    fi
    echo "$j"
  done
  echo "#"
done

echo "**************"
# break 2 直接结束内循环加外循环。
for ((i=1;i<=2;i++))
do
  for ((j=1;j<=4;j++))
  do
    if [ $j -eq 3 ]
      then
        break 2
    fi
    echo "$j"
  done
  echo "#"
done







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

相关文章:

  • ubuntu电脑调用摄像头拍摄照片
  • Android Studio打包APK
  • k8s简介,k8s环境搭建
  • Jetson nano 安装 PCL 指南
  • 梯度下降法 (Gradient Descent) 算法详解及案例分析
  • 详解Redis的Zset类型及相关命令
  • 深圳大学-智能网络与计算-实验一:RFID原理与读写操作
  • Charles 4.6.7 浏览器网络调试指南:功能详解下(五)
  • HarmonyOS NEXT边学边玩:从零实现一个影视App(七、今日票房页面的设计与实现)
  • 结构生物学3-冷冻电镜单颗粒重构:
  • 【C++】异常与智能指针
  • 分组表格antd+ react +ts
  • Python数据分析-数据加载与存储(六)
  • .NET 9.0 的 Blazor Web App 项目、Bootstrap Blazor 组件库、自定义日志 TLog 使用备忘
  • 【开源实录】从App Store审核失败到开源:一个AI辅助开发的SwiftUI项目
  • Docker 在Linux 系统中的使用说明
  • 数据结构与算法再探(六)动态规划
  • AIP-128 声明友好接口
  • Java语言程序设计(第3版) 课后练习
  • 《jEasyUI 动态改变列》
  • 解决lombok注解失效
  • 鸿蒙(HarmonyOS) HDC 命令合集分类记录
  • UDP/TCP ③-拥塞控制 || 滑动窗口 || 流量控制 || 快速重传
  • FineBI数据连接失败
  • 提示词工程(Prompt Engineering)
  • Android多语言开发自动化生成工具