[root@localhost ~]# echo ${MAIL}
/var/spool/mail/root
[root@localhost ~]# echo ${MAIL##/*/} #貪婪前匹配刪除
root
[root@localhost ~]# echo ${MAIL#/*/} #前匹配刪除
spool/mail/root
[root@localhost ~]# echo ${MAIL%/*} #後匹配刪除
/var/spool/mail
[root@localhost ~]# echo ${MAIL%%/*} #貪婪後匹配刪除
[root@localhost ~]# echo ${MAIL//oo/aa} #全域替換
/var/spaal/mail/raat
[root@localhost ~]# echo ${MAIL/oo/aa} #僅替換第一個
/var/spaal/mail/root
[root@localhost ~]# unset a;var=${a-b};echo $a,$var # var = (a == null) ? a : b
,b
[root@localhost ~]# a='foo';var=${a-b};echo $a,$var
foo,foo
[root@localhost ~]# unset a;var=${a=b};echo $a,$var # var = a= (a == null)? a : b
b,b
[root@localhost ~]# a='foo';var=${a=b};echo $a,$var
foo,foo
變數設定方式 |
str沒有設定 |
str為空白字元 |
str已設定為非Null 字元 |
var=${str-expr} |
var=expr |
var= |
var=$str |
var=${str:-expr} |
var=expr |
var=expr |
var=$str |
var=${str+expr} |
var=expr |
var=expr |
var=expr |
var=${str:+expr} |
var=expr |
var= |
var=expr |
var=${str=expr} |
var=expr str=expr |
str不變 var= |
str不變 var=$str |
var=${str:=expr} |
var=expr str=expr |
var=expr str=expr |
str不變 var=$str |
var=${str?expr} |
expr輸出至stderr |
var= |
var=$str |
var=${str:?expr} |
expr輸出至stderr |
expr輸出至stderr |
var=$str |