スクリプト名だけを出力するにはどうすればよいですか?

スクリプト名だけを出力するにはどうすればよいですか?
[username@notebook ~]$ cat foo.sh 
#!/bin/bash

echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$ 

質問:「foo.sh」をどのように出力しますか?それがどのように行われても構いません。

答え1

使用basename:

#!/bin/bash

basename -- "$0"

変数に割り当てるには、次のようにします。

my_name=$(basename -- "$0")

答え2

POSIXly、あなたはただ必要ですパラメータ拡張:

#!/bin/bash

printf '%s\n' "${0##*/}"

関連情報