bashで変数展開

上の例で使った拡張子を取り除く方法は変数展開によって行われている. bashでは他にも文字列の加工ができます.

パターン 効果
${i#hoge} 変数iの先頭部分がhogeと一致した場合, それを除いた残りを返す
${i%hoge} 変数iの後方部分がhogeと一致した場合, それを除いた残りを返す
${i//foo/bar} 変数iのfooをbarに置換したものを返す

http://rat.cis.k.hosei.ac.jp/article/linux/bash_intro.html