2017-10-07 95 views
1

是否可以使用參數擴展來組合模式匹配運算符?例如,給定變量test=/home/archie/.vimrc.bakbash參數擴展和組合模式匹配運算符

我可以echo ${test##*/}刪除的$test開始的最長匹配:

>> echo ${test##*/} 
.vimrc.bak 

我還可以刪除的$test末最短的匹配與echo ${test%.*}

>> echo ${test%.*} 
/home/archie/.vimrc 

是否有如何組合兩個模式匹配運算符來輸出.vimrc

回答

3

你不能做一個單一的擴張,但你可以用兩個做到這一點:

$ test=/home/archie/.vimrc.bak; tmp="${test%.*}"; name="${tmp##*/}"; echo "$name" 
.vimrc