Shell语言学习笔记(三)—— for循环

本文介绍了shell语言中for循环的基本语法,通过实例展示了如何遍历字符串、数字序列以及计算和的场景。对于初学者,提供了实用的代码示例和常见问题解答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天开始学习shell语言中的for循环语句,for语句可以实现多次的重复操作。

常用for语句的语法为:

for var in list
do 
    commands 语句
done

for循环在list变量值里进行反复迭代,第一次迭代使用第一个值,第二次用第二个值,以此类推,直到所有元素都过一遍。

实例1:依次输出一串字符串(用空格分割的字符串)中的每一个字符串

~/shell$ cat for.sh 

#!/bin/bash

for test in welcome to China
do 
  echo "The test is $test"
done

~/shell$ sh for.sh 
The test is welcome
The test is to
The test is China

或者采用以下代码实现,下面的代码更灵活、实用性更强。 

~/shell$ cat for.sh 

#!/bin/bash

echo "print each parameter from \"\$*\""

for var in "$*"
do 
  #echo "$var"
   echo $var
done


echo "print each parameter from \"\$@\""

for var in "$@"
do 
  #echo "$var"
   echo $var
done

~/shell$ bash for.sh  120 56 string  a  to 
print each parameter from "$*"
120 56 string a to
print each parameter from "$@"
120
56
string
a
to

实例2:输出1~5 

~/shell$ cat for.sh 

#!/bin/bash

#seq参数用于生成一个序列

for i in $(seq 1 5)
do 
  echo $i
done

~/shell$ sh for.sh 
1
2
3
4
5

或者采用以下代码实现

~/shell$ cat for.sh 

#!/bin/bash

#seq参数用于生成一个序列

for i in  {1..5}
do 
  echo $i
done

~/shell$ bash for.sh 
1
2
3
4
5
~/shell$ sh for.sh 
{1..5}       #为何会出错?

此处有一个疑问,采用sh进行命令执行为何会出错,而bash命令正常执行。

实例3:输出1~5 的和

~/shell$ cat for.sh 

#!/bin/bash

sum=0                #给sum赋初值

for i in  {1..5}     #此处同样可以采用seq生成一个序列
do 
  sum=$(($sum+$i))   #求和
done

echo $((sum))        #输出sum的值

~/shell$ bash for.sh 
15

今天先写这些吧,之后再补充,希望对初学者有一些帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值