Shell脚本中for循环的几个常用写法

for循环:for arg in Range;do CMD;done

  循环常见场景:

  ##1、有限数字(用空格隔开)
  for i in 1 2 3 4 5;do echo $i ;done 
  ##2、序列数据(seq 开始 步长 最后) ---步长默认1
  for i in $(seq 1 3 100); do echo $i ;done
  ##3、命令结果(默认空格为分隔符)
  for i in `cat 01.txt`;do echo $i ;done
  for i in `ls | grep "heh"` ;do echo $i ;done
  ##4、语法循环(类似C,注意为双括号,分号隔开)
  for ((i=1;i<3;i+=2));do echo i ;done
  for ((;;);do echo"无限循环";done

第一类:数字性循环

for1-1.sh

1

2

3

4

5

6

#!/bin/bash

  

for((i=1;i<=10;i++));

do 

echo $(expr $i \* 3 + 1);

done

for1-2.sh

1

2

3

4

5

6

#!/bin/bash

  

for i in $(seq 1 10)

do 

echo $(expr $i \* 3 + 1);

done

for1-3.sh

1

2

3

4

5

6

#!/bin/bash

  

for i in {1..10}

do

echo $(expr $i \* 3 + 1);

done

for1-4.sh

1

2

3

#!/bin/bash

  

awk 'BEGIN{for(i=1; i<=10; i++) print i}'

第二类:字符性循环

for2-1.sh

1

2

3

4

5

6

#!/bin/bash

  

for i in `ls`;

do 

echo $i is file name\! ;

done

for2-2.sh

1

2

3

4

5

6

#!/bin/bash

  

for i in $* ;

do

echo $i is input chart\! ;

done

for2-3.sh

1

2

3

4

5

6

#!/bin/bash

  

for i in f1 f2 f3 ;

do

echo $i is appoint ;

done

for2-4.sh

1

2

3

4

5

6

7

#!/bin/bash

  

list="rootfs usr data data2"

for i in $list;

do

echo $i is appoint ;

done

第三类:路径查找

for3-1.sh

1

2

3

4

5

6

#!/bin/bash

  

for file in /proc/*;

do

echo $file is file path \! ;

done

for3-2.sh

1

2

3

4

5

6

#!/bin/bash

  

for file in $(ls *.sh)

do

echo $file is file path \! ;

done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值