文章目錄
- 1.函數相關
- 2.數組相關
- 3.正則表達式與grep
根據你提供的內容,我整理了一份關于Shell腳本中函數、數組和正則表達式的簡明參考:
1.函數相關
-
函數調用:
- 直接使用函數名調用:
函數名
- 直接使用函數名調用:
-
參數傳遞:
- 函數內接收參數:
$n
(如$1
表示第一個參數,${10}
表示第十個參數) - 調用時傳遞參數:
函數名 參數1 參數2 ...
- 函數內接收參數:
-
返回值處理:
- 函數中使用
return 數據值
返回數據 - 返回值默認存儲在
$?
中 - 可直接使用
$?
操作返回值
案例:
- 函數中使用
2.數組相關
-
數組定義:
# 直接定義 array_name=(value1 value2 value3 ...)# 單獨定義元素 array_name[0]=value1 array_name[1]=value2
-
數組元素讀取:
# 讀取指定索引元素(索引從0開始) echo ${array_name[index]}# 讀取所有元素 echo ${array_name[@]} # 或 ${array_name[*]}
-
數組遍歷:
# 方式1 for ceshi in "${array_name[@]}"; doecho $ceshi done# 方式2 for ((i=0; i<${#array_name[@]}; i++)); doecho ${array_name[i]} done
3.正則表達式與grep
-
grep常用選項:
-E
:啟用擴展正則-c
:統計匹配行數-i
:忽略大小寫-o
:只輸出匹配內容-v
:反向匹配(不包含的行)-n
:顯示行號
-
常用元字符:
^
:行首$
:行尾.
:任意單字符[]
:匹配字符集中的任意一個字符[^]
:反向匹配(不包含字符集中的任意一個字符)*
:匹配前面的子表達式零次或多次{n}
:精確匹配n次{n,}
:至少匹配n次{n,m}
:匹配n到m次