Definições:
${string%substring} exclui a correspondência mais curta de $substring do final de $string .
${string##substring} exclui a correspondência mais longa de $substring do início de $string .
Seu exemplo:
abspath=$(cd ${0%/*} && echo $PWD/${0##*/})
${0%/*} exclui tudo após a última barra, fornecendo o nome do diretório do script (que pode ser um caminho relativo).
${0##*/} exclui tudo até a última barra, fornecendo apenas o nome do script.
Portanto, esse comando muda para o diretório do script e concatena o diretório de trabalho atual (fornecido por $PWD ) e o nome do script que fornece o caminho absoluto.
Para ver o que está acontecendo, tente:
echo ${0%/*}
echo ${0##*/}