Uma maneira alternativa é combinar rm com find e / ou xargs. Estas são algumas alternativas:
find "$output" -name *.gz -type f -delete
find "$output" -name "*.gz" -type f -exec rm '{}' \;
find "$output" -name *.gz -type f -print0 | xargs -0 rm
PS: type f significa procurar por arquivos.
Por padrão, encontre pesquisas em todos os subdiretórios. Você pode limitar a operação find ao diretório atual, se necessário, usando a opção maxdepth:
find "$output" -maxdepth 1 -name "*.gz" -type f -exec rm '{}' \;
Se você precisa continuar trabalhando com rm e uma variável, isso funcionou para mim em uma linha:
out="/home/gv/Desktop/PythonTests/appsfiles";rm "$out"/*.txt
rm: remove regular file '/home/gv/Desktop/PythonTests/appsfiles/a.txt'? y
rm: remove regular file '/home/gv/Desktop/PythonTests/appsfiles/a ver 1.txt'? y
rm: remove regular file '/home/gv/Desktop/PythonTests/appsfiles/b.txt'? y
rm: remove regular file '/home/gv/Desktop/PythonTests/appsfiles/c.txt'? y
rm: remove regular file '/home/gv/Desktop/PythonTests/appsfiles/d.txt'? y