É porque o comando echo
não faz parte do script. O script é executado em um subshell en quando o script termina a variável FILES
não está mais disponível. Para disponibilizar a variável FILES
para o uso atual do shell:
$ source ./TEST.txt
$ echo ${FILES[@]}