我們將這部份作個總結說明一下:
變數設定方式 | 說明 |
${變數#關鍵字} ${變數##關鍵字} | 若變數內容從頭開始的資料符合『關鍵字』,則將符合的最短資料刪除 若變數內容從頭開始的資料符合『關鍵字』,則將符合的最長資料刪除 |
${變數%關鍵字} ${變數%%關鍵字} | 若變數內容從尾向前的資料符合『關鍵字』,則將符合的最短資料刪除 若變數內容從尾向前的資料符合『關鍵字』,則將符合的最長資料刪除 |
${變數/舊字串/新字串} ${變數//舊字串/新字串} | 若變數內容符合『舊字串』則『第一個舊字串會被新字串取代』 若變數內容符合『舊字串』則『全部的舊字串會被新字串取代』 |
Tips: 底下的例子當中,那個 var 與 str 為變數,我們想要針對 str 是否有設定來決定 var 的值喔! 一般來說, str: 代表『str 沒設定或為空的字串時』;至於 str 則僅為『沒有該變數』。 | ![]() |
變數設定方式 | str 沒有設定 | str 為空字串 | str 已設定非為空字串 |
var=${str-expr} | var=expr | var= | var=$str |
var=${str:-expr} | var=expr | var=expr | var=$str |
var=${str+expr} | var= | var=expr | var=expr |
var=${str:+expr} | var= | var= | var=expr |
var=${str=expr} | str=expr var=expr | str 不變 var= | str 不變 var=$str |
var=${str:=expr} | str=expr var=expr | str=expr var=expr | str 不變 var=$str |
var=${str?expr} | expr 輸出至 stderr | var= | var=$str |
var=${str:?expr} | expr 輸出至 stderr | expr 輸出至 stderr | var=$str |
var=$((運算內容))
不但容易記憶,而且也比較方便的多,因為兩個小括號內可以加上空白字元喔! 未來你可以使用這種方式來計算的呀!至於數值運算上的處理,則有:『 +, -, *, /, % 』等等。 那個 % 是取餘數啦~舉例來說, 13 對 3 取餘數,結果是 13=4*3+1,所以餘數是 1 啊!就是:
[root@www scripts]# echo $(( 13 % 3 ))
1
|
這樣瞭解了吧?多多學習與應用喔! ^_^