遞迴函式
陣列包括的資料型別
shell陣列操作
shell指令碼除錯
bash命令
將命令序列按格式謝在一起
可方便重複使用命令序列
shell函式定義
[ function ] 函式名()
呼叫函式的方法
函式名 [引數1][引數2]
函式在shell指令碼中僅在當前shell環境中有效
shell指令碼中變數預設全域性有效
將變數限定在函式內部使用local命令示例函式內部變數通過local來實現
通過定義myfuun函式,在其內部設定區域性變數i
函式內部和外部分別賦值,進行結果驗證
函式名稱 引數1 引數2 引數3 ......
$1 $2 $3 … $ $ …#shell陣列
獲取陣列長度獲取元素長度
遍歷元素
元素切片
元素替換
元素刪除
…
陣列名=(value0 value1 value2)
陣列名=([0]=value [1]=value [2]=value)
列表名=「value0 value1 value2 ...」
陣列名=($列表名)
陣列名[0]="value"
陣列名[1]="value"
陣列名[2]="value"
數值型別字元型別
使用""或』'定義
$
或$
$
或$
$p
for i in $
do echo $i
done
$
$
unset 陣列名
shell [-nvx] 指令碼名
常用選項:-n:不會執行改指令碼,僅查詢指令碼語法是否有問題,如果沒有語法問題就不顯示任何內容,如果有問題會提示報錯。
-v:在執行指令碼時,先將指令碼內容輸出到螢幕上然後執行指令碼,如果有錯誤,也會給出錯誤提示
-x:將執行的指令碼內容輸出到螢幕上,這個是對除錯很有用的引數
常用選項-n:不換行輸出
-e:使轉義字元生效
\b:轉義後相當於按退格鍵(backspace) ,但前提是"\b"後面存在字元,具體效果參考下方示例。\c:不換行輸出,在"\c"後面不存在字元的情況下,作用相當於echo -n,具體效果參考下方示例。
\n:換行,效果看示例。
\f:換行,但是換行後的新行的開頭位置連線著上一行的行尾,具體效果檢視示例;
\v:與\f相同;
\t:轉以後表示插入tab,即製表符,已經在上面舉過例子;
\r:游標移至行首,但不換行,相當於使用"\r"以後的字元覆蓋"\r"之前同等長度的字元,只看這段文字描述的話可能不容易理解,具體效果檢視示例;
\:表示插入""本身;
命令語法
sh [-nvx]指令碼名
常用選項-n:不會執行該指令碼,僅查詢指令碼語法是否有問題,如果沒有語法問題就不會顯示任何內容,如果有問題會提示報錯。
-v:在執行指令碼時,先將指令碼的內容輸出到螢幕上然後有錯誤,也會給出錯誤提示。
-x:將執行的指令碼內容輸出到螢幕上,這個是對除錯很有用的引數。
set命令
set -x #開啟調節模式
set +x #關閉調節模式
shell 函式與陣列
2.陣列 2.5陣列的替換 3.shell指令碼除錯 函式在shell指令碼中僅在當前shll環境中有效,shell指令碼中變數預設全域性有效 若將變數限定在函式內部使用,在變數前加local命令 function 函式名 function可省略 return x x為數值,即執行完返回乙個值,0或...
Shell函式及陣列
函式就是將命令語句按格式寫在一起,可以方便重複使用命令 函式的格式 function 函式名 呼叫函式的方法 函式名 引數1 引數2 函式的作用範圍 函式再shell指令碼中僅在當前shell環境有效 shell指令碼中變數預設為全域性變數 若要定義僅在函式內部的區域性變數時使用local 變數名 ...
Shell 變數與陣列
像其他程式語言一樣,shell語言支援變數賦值操作。shell的變數宣告時沒有型別的概念。而且從某種意義上來說,shell變數不需要宣告,在給變數賦值的同時就指定了變數的型別及變數的值。變數的使用極大地增強了指令碼的靈活性。變數宣告 很簡單,格式是 變數 值 注意在等式的兩邊不能有空格。如果兩邊均有...