記錄關於 bash argument 的幾則常用語法。
argument 一般翻譯為引數或參數,帶有 — 的,會被稱為選項。
prog arg1 arg2 arg3
prog --output option1 arg1
arg1, arg2, arg3 就是引數;–output option1 就是選項。
寫 shell script 時,是不管 — 的,在 prog 之後的,都叫做引數。以下用法均以 prog arg1 arg2 arg3 作為範例
| 用法 | 說明 | 結果 | 
| $# | 取得引數個數 | 3 | 
| $@ | 所有引數 | arg1 arg2 arg3 | 
| myArray=(“$@”) | 轉為 Array |  會印出 arg1,要遍訪,需用 for: | 
| myArray=(“$@”) echo “${myArray}”  | 只印出Array第一個元素 | arg1 | 
| for arg in “${myArray[@]}”; do echo -n “${arg},”; done | 遍訪Array所有元素 | arg1,arg2,arg3, | 
| myArray=( “$@” ) arraylength=${#myArray[@]} for (( i=0; i<${arraylength}; i++ )); do echo “${myArray[$i]}” done  | 遍訪Array所有元素的另一個作法,用索引方式。 | arg1 arg2 arg3  | 
if ["$#" -eq 0]; then echo "no argument"; fi | 判斷是有否引數 | 若無引數,印出 “no argument” | 
| B=(“${myArray[@]:1:2}”) echo “${B[@]}”  | 做slice | arg2 arg3 | 
| version=4.7.1 A=( ${version//./ } ) echo “${A[@]}”  | split | 4 7 1 | 
a=”HELLO WORLD”echo "${a,,}"echo “${a,,[AEIUO]}”  | 轉小寫 | hello world HeLLo WoRLD  | 
a=”hello world”echo "${a^^}" | 轉大寫 | HELLO WORLD |