for  do   done   循环格式,常用循环命令还有while

seq 1 10         seq是产生序列命令,输出1-10

seq 1 2 10       步长为2,输出1 3 5 7 9 (步长可为小数,如:1.5)

seq 10 -2 1      步长为-2,倒序输出 ,如果没有步长,倒序不能正常输出

seq -w 1 10      -w指定输出数字格式,默认为最长宽度的数字。结果为:01-10

seq -w 001 10    指定格式输出数字  结果为:001-101

#!/bin/bash 

#列出序列

for i in `seq 1 10`      或者为for i in {1..10}

do 

  echo $i

done

#!/bin/bash

#求序列之和

sum=0

for i in {1..10}

do 

  sum=$[$i+$sum]

done

    echo $sum

for可以把文件列表或内容,作为循环对象

vim 1.txt

1 2 3

123jksdfjls

aaa bbb

#!/bin/bash

#输出文件的内容

for l in `cat 1.txt`

do

  echo $l

done

输出结果为:

1

2

3

123jksdfjls

aaa

bbb

注意:默认会把空格符作为换行符,所以输出不正确!

#!/bin/bash

#列出文件列表,并查看大小

for l in `ls /root`

do

  echo $l

  du -sh $1

done