shell中的序列生成和注意事项

Shell Liemer_Lius 1504℃ 0评论

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中的序列生成和注意事项

喜欢 (1)

发表回复