# 学习视频笔记均来自B站UP主" 泷羽sec",如涉及侵权马上删除文章
仅用于学习参考,不要越过法律红线
for 循环
通过反引号实现自增自减
for i in `seq 1 10`
do
echo "Current number: $i"
done
拆解与讲解:
(1)for 循环语法:for 变量 in 列表; do 命令; done。在这个例子中,i 是循环变量,seq 1 10生成的数字列表是循环要遍历的内容。
(2)反引号:seq 1 10 会被替换为 seq 1 10 命令的输出,即数字 1 到 10 的序列。反引号是一种命令替换的方式,但在现代
Bash 脚本中,更推荐使用 $() 语法,因为它更易读且能嵌套。(3)seq 命令:seq 1 10 生成从 1 到 10 的数字序列,每个数字以空格分隔。
(4)循环体:echo “The number is $i” 在每次循环中输出当前的数字 i,前面带有描述性文字。
示例1 使用vim创建lycc.sh文件,将代码输入并保存
通过变量完成自增自减(使用$())
for i in $(seq 1 10)
do
echo "Number: $i - Squared: $((i * i))"
done
使用初始化、条件和迭代(C风格for循环)
#!/bin/bash
factorial() {
local n=$1
if [ $n -le 1 ]; then
echo 1
else
local temp=$((n - 1))
local prev=$(factorial $temp)
echo $((n * prev))
fi
}
for ((i=1; i<=10; i++))
do
fact=$(factorial $i)
echo "Number: $i - Factorial: $fact"
done
拆解与讲解:
(1)脚本声明:#!/bin/bash 指定脚本使用 Bash 解释器执行。
(2)factorial 函数:
(3)局部变量:local n=1 、 l o c a l t e m p = 1、local temp=1、localtemp=((n - 1)) 和 local prev=$(factorial $temp)
声明了仅在函数内部可见的变量。
递归计算阶乘:如果 n 小于或等于 1,函数返回 1(阶乘的基准情况)。否则,它递归地调用自己来计算 n-1 的阶乘,并将结果与 n 相乘。C风格for循环
初始化:i=1 设置循环变量 i 的初始值。 条件:i<=10 指定循环继续执行的条件。 迭代:i++ 每次循环结束时将 i 的值增加 1。 循环体:调用 factorial 函数计算当前数字 i 的阶乘,并输出结果。
示例3
while 循环
算术扩展实现自增自减
i=0
while (( i < 10 ))
do
echo "Current number: $i"
((i++))
done
示例4
执行算数运算实现自增自减
拆解与讲解:
(1)初始化变量:
i=0:与上一个例子相同,将变量 i 初始化为 0。
(2)while 循环条件:
while (( i < 10 )):同样使用双括号进行算术条件测试。
(3) 循环体:
echo "Current number: $i":输出当前 i 的值,带有描述性文字。
let i+=1:使用 let 命令进行算术运算,将 i 的值增加 1。
注意,这里不需要使用 $ 符号来引用变量 i,因为 let 命令直接接受算术表达式。
(4)循环迭代:
与上一个例子相同,每次循环结束后回到 while 条件判断处,重新检查 i 是否小于 10,并根据结果决定是否继续执行循环体。
这里不需要使用 $ 符号来引用变量 i,因为 let 命令直接接受算术表达式。
i=0
while (( i < 10 ))
do
echo "Current number: $i"
let i+=1
done
标签:脚本,10,shell,seq,echo,while,循环,local From: https://blog.csdn.net/m0_73699202/article/details/144154848