Shell中創(chuàng)建序列和數(shù)組(list、array)的方法
關于linux數(shù)組定義,以及生成方法,請看:linux shell 動態(tài)生成 數(shù)組系列 seq使用技巧 。這里我主要說的是高效生成list 字符串,還有數(shù)組方法。
一、seq方法生成:
[chengmo@centos5 shell]$ aNumList=$(seq 100); [chengmo@centos5 shell]$ echo $aNumList 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
aNumList得到是字符串,不同之處以:空格分隔開。在linux里面,可以把它看作是list. 可以通過for…in 循環(huán)讀取。
[chengmo@centos5 shell]$ for i in $aNumList;do echo $i;done; 1 2 3 4……
如果需要生成array只需要將$(seq 100) 再加個”()”即可。
[chengmo@centos5 ~]$ aNumList=($(seq 100)); [chengmo@centos5 ~]$ echo $aNumList 1 [chengmo@centos5 ~]$ echo ${#aNumList[@]} 100
長度是100的數(shù)組。
二、通過內(nèi)部{begin..end}生成
這種方法生成seq非常方便。通過內(nèi)部運算符完成。
[chengmo@centos5 ~]$ echo {1..10} 1 2 3 4 5 6 7 8 9 10 [chengmo@centos5 ~]$ for a in {1..10};do echo $a;done; 1 2 3 4 5 6 7 8 9 10
三、性能比較
[chengmo@centos5 ~]$ time echo {1..100} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 real 0m0.000s user 0m0.001s sys 0m0.000s [chengmo@centos5 ~]$ time echo $(seq 100) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 real 0m0.003s user 0m0.002s sys 0m0.001s
從上面可以看到,{begin..end}速度比seq調用快了不少了。 以后調用時候可以考慮通過內(nèi)部操作符完成。
相關文章
Shell腳本實現(xiàn)隨機數(shù)多種方法介紹(date、random、uuid)
這篇文章主要介紹了Shell腳本實現(xiàn)隨機數(shù)多種方法介紹,本文講解了通過時間獲得隨機數(shù)、通過內(nèi)部系統(tǒng)變量、通過系統(tǒng)內(nèi)部唯一數(shù)據(jù)生成隨機數(shù)等方法,需要的朋友可以參考下2014-11-11高級開發(fā)運維測試必須掌握的envsubst命令使用詳解
這篇文章主要為大家介紹了高級開發(fā)運維測試必須掌握的envsubst命令使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04Bash 腳本實現(xiàn)每次登錄到 Shell 時可以查看 Linux 系統(tǒng)信息
這篇文章主要介紹了Bash 腳本實現(xiàn)每次登錄到 Shell 時可以查看 Linux 系統(tǒng)信息,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧2019-12-12Log4j 日志文件Linux/Mac/Windows通用存放位置設置方法
下面小編就為大家?guī)硪黄狶og4j 日志文件Linux/Mac/Windows通用存放位置設置方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01