Você também não possui arquivos no diretório atual com .txt como sufixo do nome do arquivo ou há um caractere invisível no final da linha no script, como um retorno de carro.
Um retorno de carro pode ter entrado nele se você editou o arquivo de texto de script em uma máquina Windows e o salvou como um arquivo de texto do DOS.
Para removê-los de todas as linhas, use dos2unix no arquivo de script.
Em ambos os casos, o padrão não se expande porque não há nada correspondente. A concha, portanto, mantém o padrão não expandido.
Se você quiser que o script pule o loop completamente se não houver nomes de arquivos correspondentes, defina a opção nullglob shell:
shopt -s nullglob
Isso faz com que bash expanda padrões não correspondentes para a string vazia.