heredoc의 줄 바꿈이 파일에서 사라짐


12

heredoc을 파일로 에코하지만 줄 바꿈이 손실됩니다.

이 스크립트 실행

#!/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 endlines differences)? "\ n"을 추가해 보셨습니까?
m4573r

나는 \ n을 넣으려고했지만 일반 텍스트로 나왔습니다. 리눅스 터미널을 통해 모든 일을하고 있었다
joevallender

답변:


13

공백이 포함 된 변수에는 항상 큰 따옴표를 사용하십시오.

echo "$FILE" > ...
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.