您的位置:首页 > 运维架构 > Shell

在linux shell中使用for遍历产生的递增数字序列的N种方法

2012-08-31 16:38 435 查看


原文地址:http://blog.ihipop.info/2010/11/1845.html




使用seq产生

123for i in `seq 1 100`;doecho $idone

使用条件循环

1

2

3

for((i=1;i<100;i++));do

echo
$i

done


使用while循环

12345i=1while(($i<100));doecho $ii=`expr $i + 1`done
i=
expr $i + 1
还可以改为i=$(($i+1))加快运算速度(看shell支持与否)

最慢的方法

1

2

3

for
i
in
{1..100};do

echo
$i

done


实例 批量添加路由表:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

#!/bin/bash

#print the route rulers for
cczu

#to make this take effect ,pass
it to shell with a pipe

#eg: route-cczu.sh |sh

#via:ihipop@gmail.com

igw=219.230.149.1

for
ip
in {144..159};do

echo
route
add
-net
219.230.$ip.0
netmask
255.255.255.0
gw
$igw
dev
eth0

done

for
ip
in {65..79};do

echo
route
add
-net
211.65.$ip.0
netmask
255.255.255.0
gw
$igw
dev
eth0

done

for
ip
in
`seq
1
65`;do

echo
route
add
-host
211.65.64.$ip
gw
$igw
dev
eth0

done

for((ip=16;ip<=20;ip++));do

echo
route
add
-net
172.$ip.0.0
netmask
255.255.0.0
gw
$igw
dev
eth0

done

chmod +x route-cczu.sh

./route-cczu.sh |sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐