É um recurso de substituição de variáveis do shell POSIX:
${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
${var%%Pattern} Remove from $var the longest part of $Pattern that matches the back end of $var.
Então, se var="abc def ghi jkl"
echo "${var% *}" # will echo "abc def ghi"
echo "${var%% *}" # will echo "abc"