ヒアドキュメントの新しい行がファイルから消えます


12

ヒアドキュメントをファイルにエコーしていますが、改行が失われています

このスクリプトを実行する

#!/bin/bash 

NAME="$1"

mkdir -p $NAME

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

echo $FILE > $NAME/$NAME.txt

arg:fooを使用すると、foo / foo.txtにあるファイルが含まれます。

name = "foo" type = "test"

何か案は?ありがとう


cygwinにありますか?あなたの結果はテキストエディタまたは猫からですか?言い換えれば、改行はここにあるが表示されていない可能性があります(win / linuxのエンドラインの違いのため)?「\ n」を追加してみましたか?
m4573r 2013

\ nを入れてみましたが、プレーンテキストで届きました。Linuxターミナルですべてを行っていた
joevallender 2013

回答:


13

空白を含む変数には常に二重引用符を使用します。

echo "$FILE" > ...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.