求解答一条shell命令

appname=`basename $0 | sed s,\.sh$,,`

这条命令的作用是返回去掉后缀.sh的脚本名,但后半部分sed s,\.sh$,,看不太懂
希望能详细解答一下每一个符号的作用或符号的搭配,以及sed语法

末尾的.sh替换为空
.因为代表任意字符,所以用.表示
$表示.sh必须出现在末尾
s,A,B将A替换为B