2017-10-07 8 views
1

パターンマッチング演算子を組み合わせるためにパラメータ拡張を使用できますか?bashパラメータの展開とパターンマッチング演算子の組み合わせ

例えば、変数test=/home/archie/.vimrc.bakを指定します。

私はecho ${test##*/}$testの先頭から最長一致を削除することができます。

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

は私もecho ${test%.*}$testの端から最短マッチを削除することができます。

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

があります2つのパターンマッチング演算子を結合して .vimrcを出力する方法はありますか?

答えて

3

あなたは、単一の拡張でそれを行うことはできませんが、2でそれを行うことができます。

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