表達式 |
含義 |
${var} |
變量var的值, 與$var相同 |
|
|
${var-DEFAULT} |
如果var沒有被聲明, 那么就以$DEFAULT作為其值 * |
${var:-DEFAULT} |
如果var沒有被聲明, 或者其值為空, 那么就以$DEFAULT作為其值 * |
|
|
${var=DEFAULT} |
如果var沒有被聲明, 那么就以$DEFAULT作為其值 * |
${var:=DEFAULT} |
如果var沒有被聲明, 或者其值為空, 那么就以$DEFAULT作為其值 * |
|
|
${var+OTHER} |
如果var聲明了, 那么其值就是$OTHER, 否則就為null字符串 |
${var:+OTHER} |
如果var被設置了, 那么其值就是$OTHER, 否則就為null字符串 |
|
|
${var?ERR_MSG} |
如果var沒被聲明, 那么就打印$ERR_MSG * |
${var:?ERR_MSG} |
如果var沒被設置, 那么就打印$ERR_MSG * |
|
|
${!varprefix*} |
匹配之前所有以varprefix開頭進行聲明的變量 |
${!varprefix@} |
匹配之前所有以varprefix開頭進行聲明的變量 |
表達式 |
含義 |
${#string} |
$string的長度 |
|
|
${string:position} |
在$string中, 從位置$position開始提取子串 |
${string:position:length} |
在$string中, 從位置$position開始提取長度為$length的子串 |
|
|
${string#substring} |
從變量$string的開頭,刪除最短匹配$substring的子串 |
${string##substring} |
從變量$string的開頭,刪除最長匹配$substring的子串 |
${string%substring} |
從變量$string的結尾,刪除最短匹配$substring的子串 |
${string%%substring} |
從變量$string的結尾,刪除最長匹配$substring的子串 |
|
|
${string/substring/replacement} |
使用$replacement, 來代替第一個匹配的$substring |
${string//substring/replacement} |
使用$replacement, 代替所有匹配的$substring |
${string/#substring/replacement} |
如果$string的前綴匹配$substring,那么就用$replacement來代替匹配到的$substring |
${string/%substring/replacement} |
如果$string的后綴匹配$substring,那么就用$replacement來代替匹配到的$substring |