shell變量設置與顯示(轉載)

shell變量設置與顯示

[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已設置爲非空字符
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章