54
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

bash/zsh のパラメータ展開(#, %)の覚え方いろいろ

Last updated at Posted at 2013-07-11

bash/zsh では パラメータ展開の #%を使って Prefix または Suffix を削除することができます。

$ var='hogefuga'

# Prefix削除
$ echo "${var#hoge}"
fuga

# Suffix削除
$ echo "${var%fuga}"
hoge

シェルスクリプトではよく使う手法ですが、意外と覚えづらく、特にどちらが Prefix削除 でどちらが Suffix削除 なのか忘れてしまいがちです。(私だけ?

先日そんな悩みを Twitter で吐露したところ、3名の親切な方が覚え方を伝授してくれました。

その覚え方がなかなかユニークで覚えやすかったので紹介します。

覚え方

  1. # はコメントを表す記号なので Prefix(先頭)削除

  2. # を番号記号と考えて #30 のように使うので Prefix(先頭)削除

  3. % はパーセンテージを表す記号で、30% (30パーセント) のように使うので Suffix(末尾)削除

  4. キーボードの配列が [#][$][%] のように 変数展開を行う $ を挟んで [prefix][value][suffix] という並びになっていることから考える。

おわり

どれも非常に面白い覚え方です。
みなさんはどのように覚えているでしょうか。

他にもこんな覚えた方があるよ、という方がいましたら是非教えてください。
(ちなみに私はどれも知りませんでした…)

54
53
3

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
54
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?