基礎

((a=b+1)) 如果是純數值計算,可以用兩個括號來計算 因為是純數值的關係,所以不需要在變數前加上 $ 符號 來表示「引用變數值」

${variable} ${} 大括號裡面可以對變數 variable 進行操作

${#variable} 取得變數 variable 字元數量

${variable:from:length} 取得變數 variable 從 from 開始 length 個字元 例如:${variable:0:1} variable 從第0個起取1個字元

$(command) command 在 subshell 執行 並且可以把回傳值賦予變數中 例如: VAR=$(ls)

預設值

VAR=${1:- default value} 假設預設值 $1 參數不存在 則 VAR=default value

宣告

關聯陣列

declare -A variable 宣告名為 variable 的關聯式陣列 注意!這需要 bash 4.0 以後的版本才支援

關聯式陣列的索引可以是字串或數字

${variable[@]} 取出所有陣列元素

${!variable[@]} 取出所有不重複的索引鍵值

${#variable[@]} 取得陣列長度

${variable[*]} 一次取出陣列所有元素 用空白間隔,當作一個字串

variable[$key]++ 遞增 $key 陣列索引

陣列

declare -a variable 宣告名為 variable 的陣列 索引為數字

arrayVariable=( ${variable} ) 使用括號,將變數轉變成陣列 例如: '1 2 3 4 5' 字串會轉變為 [1, 2, 3, 4, 5] 陣列

arrayVariable+=( "$variable" ) 將變數字串附加到陣列裡

數值

declare -i variable 宣告名為 variable 的數值變數

暫時的變數

variable=$a command variable 被賦予變數 a 的值,立即接 command 指令 variable 只有在 command 指令執行時有效 command 指令結束後,variable 就變回原本的值

Last updated