bash/zsh では パラメータ展開の # と %を使って Prefix または Suffix を削除することができます。 $ var='hogefuga' # Prefix削除 $ echo "${var#hoge}" fuga # Suffix削除 $ echo "${var%fuga}" hoge シェルスクリプトではよく使う手法ですが、意外と覚えづらく、特にどちらが Prefix削除 でどちらが Suffix削除 なのか忘れてしまいがちです。(私だけ? 先日そんな悩みを Twitter で吐露したところ、3名の親切な方が覚え方を伝授してくれました。 その覚え方がなかなかユニークで覚えやすかったので紹介します。 # はコメントを表す記号なので Prefix(先頭)削除 # を番号記号と考えて #30 のように使うので Prefix(先頭)削除 % はパーセンテージを表す記号で、30
![bash/zsh のパラメータ展開(#, %)の覚え方いろいろ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/269c2cc6a5a4e8699d105f19c76940e3b5ee453c/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9YmFzaCUyRnpzaCUyMCVFMyU4MSVBRSVFMyU4MyU5MSVFMyU4MyVBOSVFMyU4MyVBMSVFMyU4MyVCQyVFMyU4MiVCRiVFNSVCMSU5NSVFOSU5NiU4QiUyOCUyMyUyQyUyMCUyNSUyOSVFMyU4MSVBRSVFOCVBNiU5QSVFMyU4MSU4OCVFNiU5NiVCOSVFMyU4MSU4NCVFMyU4MiU4RCVFMyU4MSU4NCVFMyU4MiU4RCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ZDE4Yzc5MTc3OGI4MDgxM2YxNDIxZTRiNGNkMzNmOGE%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB5dXl1Y2h1MzMzMyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZGFiZjgxZjEyY2MzYjgyYjdiN2ExMGM3ZGE5YmEwOTI%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Da97ae8657419d9c35d203d24090735a0)