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


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" > ...
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.