Shell编程-for循环
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
我们前面学习了那么多命令,以及涉及到部分逻辑判断的问题。从简单来说,他就是Shell编程,只有由于命令比较单一,只能实现比较简单的功能。如果我们把多个操作都放到一起去,并添加更复杂的逻辑在里面,他就是Shell编程。所以我们主要从以下几个方面讲解Shell编程:
Shell编程-什么是shell
Shell编程-变量
Shell编程-数据类型
Shell编程-逻辑判断
Shell编程-if判断
Shell编程-if和else
Shell编程-while循环
Shell编程-for循环(本章节)
Shell编程-case
Shell编程-break
Shell编程-continue
Shell编程--函数
Shell编程-案例(一)
Shell编程-案例(二)
Shell编程-小结
上一小结讲了while循环,其实for循环和while在一定程度上是比较像是的,while循环是有明确结束条件的,而for循环则是首先遍历列表中的值,将每个值依次赋给变量,然后执行循环体中的命令。当列表中的所有值都被遍历完后,循环结束。
在Shell脚本中,for
循环用于遍历一个列表中的元素,并执行指定的命令或代码块。它的语法形式简单明了,通常用于处理数组元素或者进行固定次数的循环操作。
基本语法
for i in list
do
# 在循环中执行的命令或代码块
done
-
i 是一个用于存储当前元素值的变量。
-
list
是要遍历的元素列表。可以是一个数组、文件名模式(通配符)、命令的输出结果,或者是通过大括号扩展生成的列表。
示例
遍历数组元素
#!/bin/bash
# 定义一个数组
fruits=("apple" "banana" "cherry")
# 使用 for 循环遍历数组元素
for fruit in "${fruits[@]}"
do
echo "Fruit: $fruit"
done
在这个示例中,for fruit in "${fruits[@]}"
遍历了数组 fruits
中的每一个元素,并将当前元素赋值给变量 fruit
,然后在循环体中打印出每个水果的名称。
使用大括号扩展生成列表
#!/bin/bash
# 使用大括号扩展生成数字列表
for i in {1..5}
do
echo "Number: $i"
done
这段代码会输出数字 1 到 5,因为 {1..5}
会被扩展为 1 2 3 4 5
。如果你想达到while死循环,也可以把这个数字写成无限大,就可以达到类似的目的。
遍历命令的输出结果
#!/bin/bash
# 使用 for 循环遍历当前目录下的所有文件
for file in *
do
echo "File: $file"
done
这个示例中,*
通配符用于获取当前目录下的所有文件名,并将每个文件名赋值给变量 file
,然后输出文件名。
嵌套循环
#!/bin/bash
for ((i = 1; i <= 9; i++))
do
for ((j = 1; j <= i; j++))
do
echo -n "$i*$j=$(($i*$j))$(printf '\t')"
done
echo
done
这个例子展示了如何使用嵌套的 for
循环来打印9*9乘法表。
总结
-
for循环相对while循环来说,它遍历完所有元素就会自动退出。
-
for是知道循环次数的,而while只知道结束条件,这就是他们的区别。
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。
原文地址:https://blog.csdn.net/dessler/article/details/143026974
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!