2

以下がどのように機能するかを説明する良い方法はありますか?

~$ echo $test
en.to.tre
~$ echo ${test}
en.to.tre
~$ echo ${test%.*}
en.to
~$ echo ${test%%.*}
en
~$ echo ${test#*.}
to.tre
~$ echo ${test##*.}
tre

特に、左/右から削除/保持するときに理由がわかりません。交換する必要があります.*

4

1 に答える 1

4

.*「」で始まる部分文字列を意味し.ます。は「」で終わる*.部分文字列を意味します。3 行目と 4 行目では、末尾から始まる最短/最長の部分文字列を削除します。5 行目と 6 行目では、先頭から で終わる最短/最長の部分文字列を削除します。...

#、などの後の文字列%は、正規表現としてではなくグロビング パターン (ファイル名など) として解釈されるため.、それ自体を表します。

于 2013-05-28T11:21:07.413 に答える