shell创建序列数组(list,array)方法
生成list字符串,还有数组方法
1.seq方法生成
1) 生成list
$ NumList=$(seq 10)
$ echo $NumList
1 2 3 4 5 6 7 8 9 10
NumList得到是字符串,不同之处以空格分隔开。在linux里面,可以把它看作是list. 可以通过
for i in $list 循环读取。
#!/bin/bash
for i in $NumList
do
echo $i
done
1
2
3
4
5
6
7
8
9
10
2) 生成array
如果需要生成array只需要将$(seq 10) 再加个()即可。
$ aNumList=($(seq 10))
$ echo $aNumList
1
$ echo ${#aNumList[@]}
10
$ echo ${aNumList[1]}
2
2.通过内部运算符{begin..end}完成
$ echo {1..10}
1 2 3 4 5 6 7 8 9 10
$ for a in {1..10};do echo $a;done;
1
2
3
4
5
6
7
8
9
10
内部运算符性能要优越
性能比较
$ time echo {1..100} #优越
$ time echo $(seq 100)