1. 使用seq产生
格式:seq [OPTION]... FIRST INCREMENT LAST
for i in `seq 1 10`;do
echo $i
done
可以跳序,可以引用变量:
# num=5; for i in `seq 1 2 $num`; do echo $i; done
1
3
5
2. 使用条件循环
for((i=1;i<10;i++));do
echo $i
done
可以跳序,可以引用变量:
num=10
for((i=1;i<$num;i+=2));do
echo $i
done
3. 使用while循环
i=1
while(($i<10));do
echo $i
i=`expr $i + 1`
done
i=`expr $i + 1`
还可以改为i=$(($i+1))加快运算速度(看shell支持与否)
这个比较复杂,平常用不到。
4. 最慢的方法
for i in {1..10};do
echo $i
done
书写上比较快,但是不支持变量,变量需要用
转载请注明:liutianfeng.com » shell中的序列生成和注意事项
发表回复
要发表评论,您必须先登录。