版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、chengmocentos5 $ a=(1 2 3 4 5chengmocentos5 $ echo $a1一對括號表示是數(shù)組,數(shù)組元素用 “ 空格 ” 符號分割開。2. 數(shù)組讀取與賦值得到長度:chengmocentos5 $ echo $#a5用 $#數(shù)組名 或 * 可以得到數(shù)組長度讀取:chengmocentos5 $ echo $a23chengmocentos5 $ echo $a*1 2 3 4 5用 $數(shù)組名 下標(biāo) 下標(biāo)是從 0開始 下標(biāo)是:*或者 得到整個數(shù)組內(nèi)容賦值 :chengmocentos5 $ a1=100chengmocentos5 $ echo $a*1 100
2、3 4 5chengmocentos5 $ a5=100chengmocentos5 $ echo $a*1 100 3 4 5 100直接通過 數(shù)組名 下標(biāo) 就可以對其進(jìn)行引用賦值, 如果下標(biāo)不存在, 自動添加新一個數(shù)組元素 刪除 :chengmocentos5 $ a=(1 2 3 4 5chengmocentos5 $ unset achengmocentos5 $ echo $a*chengmocentos5 $ a=(1 2 3 4 5chengmocentos5 $ unset a1chengmocentos5 $ echo $a*1 3 4 5chengmocentos5 $ e
3、cho $#a*4直接通過:unset 數(shù)組 下標(biāo) 可以清除相應(yīng)的元素,不帶下標(biāo),清除整個數(shù)據(jù)。3. 特殊使用分片 :chengmocentos5 $ a=(1 2 3 4 5chengmocentos5 $ echo $a:0:31 2 3chengmocentos5 $ echo $a:1:42 3 4 5chengmocentos5 $ c=($a:1:4chengmocentos5 $ echo $#c4chengmocentos5 $ echo $c*2 3 4 5直接通過 $數(shù)組名 或 *:起始位置 :長度 切片原先數(shù)組,返回是字符串,中間用 “ 空格 ” 分 開,因此如果加上 ”
4、(” ,將得到切片數(shù)組,上面例子:c 就是一個新數(shù)據(jù)。替換 :chengmocentos5 $ a=(1 2 3 4 5chengmocentos5 $ echo $a/3/1001 2 100 4 5chengmocentos5 $ echo $a1 2 3 4 5chengmocentos5 $ a=($a/3/100chengmocentos5 $ echo $a1 2 100 4 5調(diào)用方法是:$數(shù)組名 或 */查找字符 /替換字符 該操作不會改變原先數(shù)組內(nèi)容, 如果需要 修改,可以看上面例子,重新定義數(shù)據(jù)。從上面講到的,大家可以發(fā)現(xiàn) linux shell 的數(shù)組已經(jīng)很強(qiáng)大了, 常見
5、的操作已經(jīng)綽綽有余了 linux shell 動態(tài)生成 數(shù)組系列 seq 使用技巧2010-12-30 16:36:22 閱讀 5 評論 0 字號:大中小 訂閱如果對 linux shell 數(shù)組不是很熟悉的話, 請看上一篇文章:linux shell 數(shù)組建立及使用技巧 , 這篇文章主要講是動態(tài)生成數(shù)組系列。 方法應(yīng)該很多, 我這里主要以一個求和計算的題目為 例進(jìn)行分析。題目:請用 linux shell 寫一段腳本,實(shí)現(xiàn)從 1.1000中所有偶數(shù)的和值。方法一:通過 while 循環(huán)得到需要的結(jié)果:start=1;total=0;while $start -le 1000 ;do $($s
6、tart%2 = 0 &&total=$($total+$start;start=$($start+1;done;echo $total;chengmocentos5 $ start=1;total=0;while $start -le1000 ;do $($start%2 =0 &&total=$($total+$start; start=$($start+1;done;echo $total; 250500以上運(yùn)行結(jié)果是:249500, 在 linux shell 中, ”;” 作為命令行分隔符。如果大家對于 $( 運(yùn) 算符號不是很理解,可以查看:linux
7、 shell 實(shí)現(xiàn) 四則運(yùn)算(整數(shù)及浮點(diǎn) 簡單方法 ,如 果對于: 符號,可以參考另外一篇文章 linux shell 邏輯運(yùn)算符、邏輯表達(dá)式詳解 。方法二:通過 for 循環(huán)得到結(jié)果:start=0;total=0;for i in $(seq $start 2 1000; dototal=$($total+$i;done;echo $total;chengmocentos5 $ start=0;total=0;for i in $(seq $start 2 1000;do total=$($total+$i;done;echo $total;250500上面語句已經(jīng)代碼方面明顯優(yōu)于方法一,
8、而且性能方面表現(xiàn)也很好。下面比較就可以發(fā)現(xiàn):比較性能:chengmocentos5 $ time (start=0;total=0;for i in $(seq $start 2 1000; do total=$($total+$i;done;echo $total; 250500real 0m0.016suser 0m0.012ssys 0m0.003schengmocentos5 $ time (start=1;total=0;while $start -le1000 ;do $($start%2 =0 &&total=$($total+$start; start=$($s
9、tart+1;done;echo $total; 250500real 0m0.073suser 0m0.069ssys 0m0.004s方法一耗時 是方法二的 6倍!seq 使用:seq OPTION. LASTseq OPTION. FIRST LASTseq OPTION. FIRST INCREMENT LASTchengmocentos5 $ seq 1000 起始默認(rèn)是 1,間隔默認(rèn)也是 1chengmocentos5 $seq 2 1000 間隔默認(rèn)是 1chengmocentos5 $seq 1 3 10 ' 從 1開始,到 10 間隔為 3 結(jié)果是:1 4 7 10 說明:默認(rèn)間隔是 “ 空格 ” 如果想換成其它的可以帶參數(shù):-schengmocentos5 $seq -s'#' 1 3 101#4#7#10應(yīng)用技巧:生成連續(xù)數(shù)組系列:chengmocentos5 $ a=($(seq 1 3 10chengmocentos5 $ echo $a14chengmocento
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋買賣合同簡易版范本格式
- 肥料運(yùn)輸合同2024年
- 房產(chǎn)贈與合同公證的步驟
- 2024汽車買賣合同寫
- 建筑企業(yè)分公司協(xié)議-合同范本
- 2024【承包廠食堂合同范本】關(guān)于醫(yī)院食堂承包的合同范本
- 權(quán)威汽車買賣合同樣式集
- 2024年電商托管代運(yùn)營協(xié)議
- 2024音像制品經(jīng)銷合同范本
- 施工機(jī)械安全租賃協(xié)議
- 裝飾裝修工程售后服務(wù)具體措施
- 乙炔發(fā)生器、電石庫安全檢查表
- 克拉申監(jiān)控理論述評
- ICH技術(shù)指導(dǎo)原則概述
- (完整版)一年級家長會PPT模板
- 《中華商業(yè)文化》第七章
- 15D503利用建筑物金屬體做防雷及接地裝置安裝圖集
- 消防訓(xùn)練工作研討材料
- 第六章-機(jī)車轉(zhuǎn)向架課件
- 醫(yī)患雙方權(quán)利和義務(wù)課件
- 高三年級班級成績分析報告
評論
0/150
提交評論