bash でスクリプト名を取得するには

シェルでは $0 で実行したスクリプトファイルのパスが取れる。ここでスクリプト名だけを切り出したときはどうすればよいか。basename というコマンドを使うと切り出せる。また指定したサフィックスを取り除くことができる。
bash だとパターンマッチによる切り出しができる。

#!/bin/bash
base=${0##*/} 
echo $base
echo `basename $0`

echo ${base%.sh} 
echo `basename $0 .sh`

を実行すると、

$ /home/toshi/shell/hoge.sh 
hoge.sh
hoge.sh
hoge
hoge
$ ./hoge.sh 
hoge.sh
hoge.sh
hoge
hoge

となる。
※スクリプト名を切り出して何に使うのか。
 ⇒例えば view と vi のように実行名によって動作を変えるときなんかに使います。