1. 程式人生 > >shell陣列使用技巧

shell陣列使用技巧

1.陣列定義
 
[[email protected] ~]$ a=(1 2 3 4 5)
[[email protected] ~]$ echo $a
 
一對括號表示是陣列,陣列元素用“空格”符號分割開。
 
2.陣列讀取與賦值
得到長度:
[[email protected] ~]$ echo ${#a[@]}
用${#陣列名[@或*]} 可以得到陣列長度
讀取:
[[email protected] ~]$ echo ${a[2]} 
[[email protected] ~]$ echo ${a[*]} 
2 3 4 5   
用${陣列名[下標]} 下標是從0開始  下標是:*或者@ 得到整個陣列內容
賦值:
[
[email protected]
~]$ a[1]=100
[[email protected] ~]$ echo ${a[*]} 
100 3 4 5
 
[[email protected] ~]$ a[5]=100     
[[email protected] ~]$ echo ${a[*]}
100 3 4 5 100
直接通過 陣列名[下標] 就可以對其進行引用賦值,如果下標不存在,自動新增新一個數組元素
刪除:
[[email protected] ~]$ a=(1 2 3 4 5)
[[email protected] ~]$ unset a
[[email protected]
~]$ echo ${a[*]}
[[email protected] ~]$ a=(1 2 3 4 5)
[[email protected]tos5 ~]$ unset a[1]   
[[email protected] ~]$ echo ${a[*]} 
3 4 5
[[email protected] ~]$ echo ${#a[*]}
直接通過:unset 陣列[下標] 可以清除相應的元素,不帶下標,清除整個資料。
 
 
3.特殊使用
分片:
[[email protected] ~]$ a=(1 2 3 4 5)
[[email protected]
~]$ echo ${a[@]:0:3}
2 3
[[email protected] ~]$ echo ${a[@]:1:4}
3 4 5
[[email protected] ~]$ c=(${a[@]:1:4})
[[email protected] ~]$ echo ${#c[@]}
[[email protected] ~]$ echo ${c[*]} 
3 4 5
直接通過 ${陣列名[@或*]:起始位置:長度} 切片原先陣列,返回是字串,中間用“空格”分開,因此如果加上”()”,將得到切片陣列,上面例子:c 就是一個新資料。
替換:
[[email protected] ~]$ a=(1 2 3 4 5)    
[[email protected] ~]$ echo ${a[@]/3/100}
2 100 4 5
[[email protected] ~]$ echo ${a[@]}
2 3 4 5
[[email protected] ~]$ a=(${a[@]/3/100}) 
[[email protected] ~]$ echo ${a[@]}     
2 100 4 5
呼叫方法是:${陣列名[@或*]/查詢字元/替換字元} 該操作不會改變原先陣列內容,如果需要修改,可以看上面例子,重新定義資料。

相關推薦

[轉]linux shell 陣列建立及使用技巧

linux shell在程式設計方面比windows 批處理強大太多,無論是在迴圈、運算。已經資料型別方面都是不能比較的。 下面是個人在使用時候,對它在陣列方面一些操作進行的總結。 1.陣列定義 [[email protected] ~]$ a=(1 2 3 4 5)[[emai

shell陣列使用技巧

1.陣列定義   [[email protected] ~]$ a=(1 2 3 4 5) [[email protected] ~]$ echo $a   一對括號表示是陣列,陣列元素用“空格”符號分割開。   2.陣列讀取與賦值 得到長度: [[em

一些拿shell技巧

漏洞 有時 例如 strong 空格 -1 根目錄 找到 代碼 轉自: 一些拿shell的技巧 1.直接上傳asp asa jsp cer php aspx htr cdx 格式的木馬,不行就加個空格或是利用IIS6.0解析漏洞,常見格式:1.asp;1.jpg 或 1.a

“壓扁陣列技巧(flattening the array)

如果需要給函式傳遞一個二維陣列,又不想在函式原型中給出第二維的長度,則可以考慮把陣列直接傳進去,形參用void *接收。在函式內可以把形參指標轉換成其他型別。 下面給出一個例子,函式func接收一個二維陣列,在函式內轉換成一維陣列進行逆序處理。 #include <stdio

shell 指令碼的一些常用命令 set, export, shell陣列,esac, tee,time

1. set Linux set命令用來設定 shell ,設定使用shell的執行方式。 引數說明 -a  標示已修改的變數,以供輸出至環境變數。 -b  使被中止的後臺程式立刻回報執行狀態。 -C  轉向所產生的檔案無法覆蓋已存在的檔案。 -d  She

shell陣列程式設計

參考連線 https://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html linux shell 陣列建立及使用技巧linux shell在程式設計方面比windows 批處理強大太多,無論是在迴圈、運算。已經資料型別方面都是不能比較的。 下

LeetCode41. First Missing Positive (陣列技巧

Given an unsorted integer array, find the smallest missing positive integer. Example 1: Input: [1,2,0] Output: 3 Example 2: Input: [3,4,-

Shell陣列和函式

陣列中可以存放多個值。Bash Shell 只支援一維陣列(不支援多維陣列)。 Shell 陣列用括號來表示,元素用"空格"符號分割開,語法格式如下: array_name=(value1 ... valuen) 2.陣列常用操作 1)定義一個數組: myarray=(1 2 3 4 5);

shell 陣列遍歷的3種方法

                        shell陣列的

shell技巧筆記

設定終端字元顏色 在shell中輸出終端字元可以設定顯式方式,顏色,底色。 控制字串格式為:   \033[顯示方式;前景色;背景色m   或者   \e[顯示方式;前景色;背景色m 控制字元結束為:   \e[0m或者\033[0m 顯式方式有以下幾種:   0(預設值)、1(高亮)、22

shell 陣列例項

ary=(1 2 3) a=2 if [[ "${ary[@]}" =~ "$a" ]] ; then     echo "a in ary" else     echo "a not in ary" fi   獲取陣列長度echo

兩個linux shell技巧,助你提高敲命令效率!

技巧一.sudo! 1.在linux命令列敲命令時,你是不是也碰到過這種情況:敲了一長串命令,瀟灑的一回車,結果發現Permission denied。   當你意識到需要在行首加一個sudo,用root使用者執行該命令,這時你會怎麼做?通常的做法可能是這樣的: 1.按↑重新顯示之前的命

(七)Linux學習筆記-Linux常用命令-Shell常用技巧

(七)Linux學習筆記-Linux常用命令-Shell常用技巧 Shell常用技巧 < > >>輸入輸出重定向 |(管道) ; && ||(命令連線符) ''(命令替換符) ali

shell實用技巧:檔案統計資訊和銀行賬戶管理系統

需求        寫一個shell程式命名為wc.sh,統計檔案字元數、行數和單詞數。        寫一個shell程命名為bank.sh,完成以下功能:退出、存款、取款、新增賬戶、刪除賬戶、查詢賬戶、顯示所有賬戶,所有資訊儲存在account.dat檔案中,每次操作會實

03.shell陣列

1.Shell 陣列 bash支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。 類似與C語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。 1.1定義陣列 在Shell中,用括號來表示陣列,陣列元素用"空格"符號分割開。定義陣列的一般

linux 標準輸出、標準錯誤輸出、以及shell技巧

1.Linux常用的有: 1)  標準輸入 stdin  程式碼為0,使用< 或<< 2)  標準輸出 stdout 程式碼為1,使用> 或 >> ,這裡把1給省略了, 3)  標準錯誤輸出 stderr程式碼為2,使用 2> 或2

【Linux】shell陣列

一、概念     shell陣列就是一個元素集合,它把有限個元素用一個名字來命名,然後用編號對他們分割槽。這個名字稱為陣列名,用於區分不同內容的編號稱為陣列的下標。 二、shell陣列的定義與增刪改查 1.shell陣列的定義 方法1:元素之間使用空格分隔,用小括號將元素括起來

【Linux】Shell - 陣列練習

# 定義陣列 array=( aa bb cc dd)# 輸出陣列所有元素,或者 ${array[@]} echo ${array[*]}   aa bb cc dd# 輸出元素個數 echo ${#array[*]}  # 輸出第一個

【Linux】Shell - 陣列操作

Shell中資料型別不多,比如說字串,數字型別,陣列。 陣列是其中比較重要的一種,其重要應用場景,可以求陣列長度,元素長度,遍歷其元素,元素切片,替換,刪除等操作,使用非常方便。 Shell中的陣列不像JAVA/C,只能是一維陣列,沒有二維陣列;陣列元素大小無約束,也無需先定義陣

shell陣列和變數的應用

專案中有一個需求:使用者選擇test1,test2,…test10之間的一個變數(env),我用這個變數作為docker的名稱去建立一個新的容器。其中埠號也是之前預訂好的,需要指定兩個,一個是ssh22埠的,一個是JAVA專案的,比如30001。 新起一個docker的命令如下: docke