Sempre use aspas duplas para as variáveis que contêm espaço em branco:
echo "$FILE" > ...
Estou fazendo eco de um heredoc em um arquivo, mas as quebras de linha estão sendo perdidas
Executando este script
#!/bin/bash
NAME="$1"
mkdir -p $NAME
FILE=$(cat <<SETVAR
name = "$NAME"
type = "test"
SETVAR
)
echo $FILE > $NAME/$NAME.txt
Com o arg: foo, resulta no arquivo em foo / foo.txt contendo
name = "foo" type = "test"
Alguma ideia? Obrigado