shell流程控制之for循环

循环

for循环:

在编程语言中,我们会涉及许多重复使用的代码块,为了简化代码,方便使用,就会使用循环语句来实现,重复代码的调用。
shell中for循环有三种使用方法:
(1)带列表的for循环
(2)不带列表的for循环
(3)类似C风格的for循环

1.带列表的for循环
**使用范围:**通常用于已知循环次数的for循环:
其语法是:

for 循环变量 in {
   list(列表)}
do
	statement1
	statement2
	...
done

注:
list是一个列表,可以是一系列的数字或者字符串,元素之间使用空格隔开。do和done之间的所有的语句称为循环体,既循环结构中重复执行的语句。for循环体的执行次数与list中元素的个数有关。在带列表的for语句的执行时,shell会将in关键字后面的list列表的第一个元素的值赋给(循环变量),然后执行循环体;当循环体中的语句执行完毕后,shell会将列表中的第二个元素的值赋给(循环变量),然后再次执行循环体,当list列表中的所有元素都被遍历一遍之后,for循环结构终止,程序将继续执行done语句后面的其他语句。

示例:
示例一

#! /bin/bash
  
for IP in 192.168.150.100 192.168.150.101
do
        echo $IP
done
结果:
[root@bogon ~]# vim for1.sh
[root@bogon ~]# chmod +x for1.sh 
[root@bogon ~]# ./for1.sh 
192.168.150.100
192.168.150.101

示例二
使用不同的格式实现上例:

#! /bin/bash
  
for IP in $(seq -f "192.168.150.10%1g" 1 9)
do
        echo $IP
done
结果:
[root@bogon ~]# vim for3.sh 
[root@bogon ~]# chmod +x for3.sh 
[root@bogon ~]# ./for2.sh 
192.168.150.101
192.168.150.102
192.168.150.103
192.168.150.104
192.168.150.105
192.168.150.106
192.168.150.107
192.168.150.108
192.168.150.109

示例三
使用不同的格式实现上例:

#! /bin/bash
  
for IP in 192.168.150.10{
   1..9}
do
        echo $IP
done
结果:
[root@bogon ~]# vim for2.sh 
[root@bogon ~]# chmod +x for2.sh 
[root@bogon ~]# ./for2.sh 
192.168.150.101
192.168.150.102
192.168.150.103
192.168.150.104
192.168.150.105
192.168.150.106
192.168.150.107
192.168.150.108
192.168.150.109

案例四

#! /bin/bash
  
#获取当前目录下的文件名作为变量列表打印输出

for file_name in $(ls -F | grep -v /$)
#使用ls -F | grep -v /$ 过滤除了目录以外的文件
do
        echo $file_name
done
结果:
[root@bogon ~]# vim for4.sh
[root@bogon ~]# chmod +x for4.sh 
[root@bogon ~]# ./for4.sh 
anaconda-ks.cfg
a.txt
big.sh
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值