LoginSignup
3
0

More than 5 years have passed since last update.

シェルスクリプトにおける%と%%(#と##)の違い

Last updated at Posted at 2018-10-17

シェルスクリプトで変数展開するときに、時々見る%(#)記号...
qiitaで探しづらかったのでメモ

%と%%はどちらもsuffic除去、#と##はどちらもprefix除去ですが
記号が一つだとshortest match、記号が二つだと longest matchが適用されるらしい。

$ var="abcdefdefghi"
$ echo $var
abcdefdefghi
$ echo ${var#*def}
defghi
$ echo ${var##*def}
ghi
$ echo ${var%def*}
abcdef
$ echo ${var%%def*}
abc

補足(蛇足?)

##や%%のようなものはググラビリティが低いので、全然検索に引っかからない...
qiitaではタグに記載されていると検索可能らしいので、実験もかねて##と%%をタグに含めました。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0