加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Shell for循环及用法举例

发布时间:2020-12-14 02:16:25 所属栏目:Linux 来源:网络整理
导读:for 循环是固定循环,也就是在循环时已经知道需要进行几次循环。有时也把 for 循环称为 计数循环 。 for 循环的语法有如下 2 种。 语法一 for 变量 in 值1 值2 值3… do 程序 done 在这种语法中,for 循环的次数取决于 in 后面值的个数(以空格分隔),有几个
for 循环是固定循环,也就是在循环时已经知道需要进行几次循环。有时也把 for 循环称为计数循环

for 循环的语法有如下 2 种。

语法一

for 变量 in 值1 值2 值3…
do
程序
done

在这种语法中,for 循环的次数取决于 in 后面值的个数(以空格分隔),有几个值就循环几次,并且每次循环都把值赋予变量。也就是说,假设 in 后面有三个值,for 会循环三次,第一次循环会把值 1 赋予变量,第二次循环会把值 2 赋予变量,以此类推。

【例 1】打印时间。

[root@localhost ~]# vi sh/for.sh
#!/bin/bash 打印时间
for time in morning noon afternoon evening
do
echo "This time is $time!"
done

解释一下脚本思路:in 值后面有 4 个字符串,所以这个 for 会循环 4 次。每次循环会依次把字符串赋予变量 time,所以这个脚本会循环 4 次,并依次输出"morning noon afternoon evening"这 4 个字符串。这个脚本执行之后是这样子的:

[root@localhost ~]# sh/for.sh
This time is morning!
#第一次循环把morning赋予变量time
This time is noon!
#第二次循环把noon赋予变量time
This time is afternoon!
第三次循环把afternoon赋予变量time
This time is evening!
#第四次循环把evening赋予变量time,循环结束

因为关键字 in 后面有 4 个值,所以 for 会循环 4 次。每次循环时,会依次把 4 个值赋予变量 time。非常简单吧!

语法二

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

在语法二中需要注意以下几点:
  • 初始值:在循环开始时,需要给某个变量赋予初始值,如 i=1。
  • 循环控制条件:用于指定变量循环的次数,如 i<=100,则只要 i 的值小于等于 100,循环就会继续。
  • 变量变化:每次循环之后,变量该如何变化,如 i=i+1,代表每次循环之后,变量的值都加 1。

语法二和其他语言中的 for 循环类似,也就是事先决定循环次数的固定循环。先举一个简单的例子。

【例 2】从 1 加到 100。

#!/bin/bash
#从 1 加到100
s=0
for(( i=1;i<=100;i=i+1))
#定义循环100次
do
s=$(($s+$i))
#每次循环给变量s赋值
done
echo "The sum of 1+2+..+100 is : $s"
#输出从1加到100的和

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读