A maneira usual de fazer isso no bash é usar a expansão de parâmetro. (Veja a bash página man e procure por "Parameter Expansion".)
a=${1%.*}
O %
indica que tudo que corresponde ao padrão a seguir ( .*
) da direita, usando a menor correspondência possível, deve ser excluído do parâmetro $1
. Nesse caso, você não precisa de aspas duplas (") ao redor da expressão.