Tem a certeza de que não está a utilizar o %%
, que elimina a correspondência mais longa do final da cadeia e lhe oferece my
, enquanto %
elimina a correspondência mais curta e fornece (por exemplo) o que quer
fname=my-importer-1.0.ear
echo ${fname%%-*}
my
enquanto
echo ${fname%-*}
my-importer