shell陣列使用技巧
[[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] ~]$ 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]
[[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]
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