bash使用规则
1. for 循环 有三种
类c语言
1 for ((i=1; i<=100; i ++)) 2 do 3 echo $i 4 done
in使用
1 for i in {1..100} for i in {0..10..2} 2 do 3 echo $i 4 done
seq使用
1 for i in `seq 1 100` 2 do 3 echo $i 4 done
` ` 表示取命令的输出结果 `ls`
2. 变量赋值和计算
1 count=0 2 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=3 2 > var=$((var+1)) 3 > echo $var 4 > var=$[var+1] 5 > echo $var
3. bash中实现fixed width number, 比如00001-10000
1 for i in $(seq -f "%05g" 10 15) 2 do 3 echo $i 4 done
00010 00011 00012 00013 00014 00015