baris baru dalam heredoc menghilang dalam file

12

Saya menggema heredoc ke dalam file, tetapi jeda baris sedang hilang

Menjalankan skrip ini

#!/bin/bash 

NAME="$1"

mkdir -p $NAME

FILE=$(cat <<SETVAR
name = "$NAME"
type = "test"
SETVAR
)

echo $FILE > $NAME/$NAME.txt

Dengan arg: foo, menghasilkan file di foo / foo.txt berisi

name = "foo" type = "test"

Ada ide? Terima kasih

joevallender
sumber
Apakah ada di cygwin? Apakah hasil Anda dari editor teks atau kucing? dengan kata lain, mungkinkah bahwa baris baru ada di sini tetapi tidak ditampilkan (karena perbedaan winline / linux)? Sudahkah Anda mencoba menambahkan "\ n"?
m4573r
saya mencoba memasukkan \ n tetapi itu muncul sebagai teks biasa. sedang melakukan semua melalui terminal linux
joevallender

Jawaban:

13

Selalu gunakan tanda kutip ganda untuk variabel yang berisi spasi putih:

echo "$FILE" > ...
choroba
sumber