大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
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* j∗i=$[j*i]\t” #-n不换行输出;-e使用\转义符;\t横向制表;若不用-e,则\t为普通字符
done
echo
done
三.总结
1.for循环在实际生成中应用非常多,避免人工重复的去操作某个事情
2.for循环中的列表支持正则表达式
3.for循环中使用(()),双括号内支持C语言的命令
4.for循环中的变量,只是循环去取值列表中取值,然后进行do操作,所以取值列表中的参数个数,决定了循环的次数
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234609.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...