記錄關於 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 |
沒有留言:
張貼留言