1. for 循环 有三种
类c语言
1 for ((i=1; i<=100; i ++))2 do3 echo $i4 done
in使用
1 for i in { 1..100} for i in { 0..10..2}2 do3 echo $i4 done
seq使用
1 for i in `seq 1 100`2 do3 echo $i4 done
` ` 表示取命令的输出结果 `ls`
2. 变量赋值和计算
1 count=02 count=`expr $count + 1`
有两个要注意的点:
赋值等号两边不能空格 expr式子中符号两边必须要有空格
一个很好的实例:
1 #!/bin/bash 2 for var in { 1..13} 3 do 4 mkdir train_data$var 5 count=0 6 for i in `seq 1 $var` 7 do 8 for file in `ls img_data_$i` 9 do 10 count=`expr $count + 1` 11 echo $count 12 ln -s `pwd`/img_data_$i/$file `pwd`/train_data$var/train-$count 13 done 14 done 15 done
使用大括号或者小括号
1 > var=32 > var=$((var+1))3 > echo $var4 > var=$[var+1]5 > echo $var
3. bash中实现fixed width number, 比如00001-10000
1 for i in $(seq -f "%05g" 10 15)2 do3 echo $i4 done
000100001100012000130001400015