课时67:流程控制_for循环_for基础

2.4.1 for基础

学习目标

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。

基础知识

简介

	生产工作中,我们有可能会遇到一种场景,需要重复性的执行相同的动作,我们在shell编程的过程中,我们可以借助于循环逻辑的方法来进行处理。

在这里插入图片描述

循环逻辑语法解析:
	关键字 [ 条件 ]
	do
		执行语句
	done
	
注意:
	这里的关键字主要有四种:
		for 	- 循环遍历一个元素列表
		while	- 满足条件情况下一直循环下去
		until	- 不满足条件情况下一直循环下去
		select	- 一种特殊的循环遍历,侧重于遍历用户输入,一般结合case等语句使用

简单实践

for语法解析

场景:遍历列表
    for 值 in 列表
    do
       执行语句
    done
注意:
    ”for” 循环总是接收 “in” 语句之后的某种类型的字列表
    执行次数和list列表中常数或字符串的个数相同,当循环的数量足够了,就自动退出

列表生成

样式1:手工列表
	- 1 2 3 4 5 6 7
样式2:定制列表
	- {1..7}
样式3:命令生成
	- $(seq 1 7)
样式4:脚本参数
	- $@ $*

实践1-手工列表

查看脚本内容
[root@localhost ~]# cat for_hand_list.sh
#!/bin/bash
# 功能:手工列表 for循环
for i in yuwen shuxue lishi
do
  echo "列表元素: ${i}"
done

脚本执行后效果
[root@localhost ~]# /bin/bash for_hand_list.sh
列表元素: yuwen
列表元素: shuxue
列表元素: lishi

实践2-定制列表

查看脚本内容
[root@localhost ~]# cat for_define_list.sh
#!/bin/bash
# 功能:定制列表 for循环
for i in {1..3}
do
  echo "列表元素: ${i}"
done

脚本执行后效果
[root@localhost ~]# /bin/bash for_define_list.sh
列表元素: 1
列表元素: 2
列表元素: 3

实践3-命令生成

查看脚本内容
[root@localhost ~]# cat for_cmd_list.sh
#!/bin/bash
# 功能:命令生成列表 for循环
for i in $(seq 1 3)
do
  echo "列表元素: ${i}"
done

脚本执行后效果
[root@localhost ~]# /bin/bash for_cmd_list.sh
列表元素: 1
列表元素: 2
列表元素: 3

实践4-脚本参数

查看脚本内容
[root@localhost ~]# cat for_arg_list.sh
#!/bin/bash
# 功能:脚本参数列表 for循环
for i in $@
do
  echo "列表元素: ${i}"
done

脚本执行后效果
[root@localhost ~]# /bin/bash for_arg_list.sh 1 2 3
列表元素: 1
列表元素: 2
列表元素: 3

小结


相关推荐

  1. 课时73:流程控制_for循环_综合案例

    2024-03-18 09:48:04       45 阅读
  2. 课时77:流程控制_until循环_until基础

    2024-03-18 09:48:04       44 阅读
  3. for循环

    2024-03-18 09:48:04       31 阅读
  4. <span style='color:red;'>for</span><span style='color:red;'>循环</span>

    for循环

    2024-03-18 09:48:04      38 阅读
  5. shell脚本基础for循环扩展)

    2024-03-18 09:48:04       34 阅读
  6. 课时78:流程控制_until循环_嵌套案例

    2024-03-18 09:48:04       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-18 09:48:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-18 09:48:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-18 09:48:04       82 阅读
  4. Python语言-面向对象

    2024-03-18 09:48:04       91 阅读

热门阅读

  1. 单词接龙~~

    2024-03-18 09:48:04       35 阅读
  2. 51单片机与ARM单片机的区别

    2024-03-18 09:48:04       37 阅读
  3. Spring(创建对象的方式3个)

    2024-03-18 09:48:04       39 阅读
  4. 设计模式--访问者模式(Visitor Pattern)

    2024-03-18 09:48:04       42 阅读
  5. To configure two different databases in Spring Boot

    2024-03-18 09:48:04       38 阅读
  6. odoo中传递上下文

    2024-03-18 09:48:04       44 阅读
  7. React高阶组件详解

    2024-03-18 09:48:04       47 阅读
  8. Flutter 当涉及Listview的复杂滑动布局良好布局方式

    2024-03-18 09:48:04       38 阅读
  9. Python实现连连看

    2024-03-18 09:48:04       42 阅读
  10. 如何优化查询ORM

    2024-03-18 09:48:04       43 阅读
  11. IDEA SpringBoot + Gradle无法运行测试问题

    2024-03-18 09:48:04       40 阅读