shell脚本之for循环

循环有:for、while、until

什么是for循环呢?

for循环逻辑 :就是将循环列表中的元素赋值给变量,每次赋值便执行一次循环,done就标志着一个循环的结束。直到列表中的元素消耗殆尽,结束整个循环(也可以这么理解 ,因为某件事 ,你把你对象惹生气了,你是不是得道歉 ,道歉一次没用,是不是要第二遍 ,这是一个循环 直到你对象原谅你 这个循环才结束.也可以这么理解)

格式 :

for 变量 in 值1 值2 值3

do 相当于大括号的上上半部分

echo 语句程序

done 相当于大括号的下半部分

把每个值都带入你的变量里面按个进入 然后输出等待集合

!在这里插入图片描述

应用实例 :1

第一种格式 $* 把所有的参数看成一个整体

第二种格式 $@ 表示把每个参数分区对待

在 数量大的时候可以看出来 ∗ 和 * 和 @的区别是什么

案例实验 :

$* 输出的是一个整体

vim textfor.sh

注释一下环境 #!/bin/bash

for i in " ∗ ∗ " 这 个 是 什 么 意 思 : 是 把 **" 这个是什么意思 :是把 ":* * 赋给i 这个变量 把&*这个值交给i然后把他输出echo的东西 如果是一次 就输出一次 如果是分开的 那就是 多次对应的输出

do

echo “the num is $i”

done

chmod 744 或者+x textfor.sh 给一个执行权限

./textfor.sh 执行

$@ 分开输出

vim textfor.sh

注释一下环境 #!/bin/bash

for i in “$@”

do

echo"the num is $i"

done

chmod 744 或者+x textfor.sh 给一个执行权限

./textfor.sh 10 20 30 执行

分开处理的 要注意一下 ∗ 和 *和 @的区别是什么

$* 整体处理

$@ 分开处理

就比如 把10 20 30 的值的和求出来个数不知道 就要用$@比较便利

第二种基本语法

for(初始值;循环控制条件 ;变量变化)

do

程序

done

案例 从1加到100的值输出显示 1一直加到100

vim testfor2.sh 创建一个for的脚本

!/bin/bash

sum=0的时候 sum是和的意思

for((i=1;i<=100;i++)) 括号里是什么意思 i等于1 ;i<=100 意思是当i大于等于100时 ;i++ 的意思是 i++是使用i之后再加一
do
SUM= [ [ [SUM+$i] 括号里是一个累计 括号里的sum和i累计过后再给前面的sum再输出最后的结果 注意这边用的是中括号【】

done
echo “SUM=$SUM” 输出最后姐结果

~

chmod 744 或者+x textfor.sh 给一个执行权限

./testfor2.sh

2.3乘法表
利用for循环,打印99乘法表
#!/bin/bash
for ((i=1;i<=9;i++)) #此处也可以写 for i in {1…9}
do
for ((j=1;j<=i;j++)) #此处也可写 for j in seq $i
do echo -n -e “ j ∗ j* ji=$[j*i]\t” #-n不换行输出;-e使用\转义符;\t横向制表;若不用-e,则\t为普通字符
done
echo
done

三.总结
1.for循环在实际生成中应用非常多,避免人工重复的去操作某个事情
2.for循环中的列表支持正则表达式
3.for循环中使用(()),双括号内支持C语言的命令
4.for循环中的变量,只是循环去取值列表中取值,然后进行do操作,所以取值列表中的参数个数,决定了循环的次数

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐