-
O Echo está colocando novas linhas entre as palavras porque está dividindo a entrada nos espaços, não na nova linha.
-
Também é por isso que o eval não funciona - ele vê a primeira palavra, contendo um
'
, e não vê o final da linha, que contém o fechamento'
Solução:
Altere o valor do IFS (Internal Field Separator) para não conter espaços ou tabulações, mas apenas novas linhas. Você faz assim:
IFS=$'\n'
antes de começar a ler no arquivo.