공백 문자만 포함된 변수를 echo 및 printf 출력할 수 없는 이유는 무엇입니까? [복사]

공백 문자만 포함된 변수를 echo 및 printf 출력할 수 없는 이유는 무엇입니까? [복사]
var1=$(printf "\n\x0A\n")

var2=$(printf "\na\nb\nc")

Android 터미널을 사용하면 출력 echo -e "$var1"(echo 및 printf와 동일)은 아무것도 아니며 3개의 새 줄도 없습니다. 그러나 echo -e "$var2"또는 echo "$var2"또는 printf "$var2"출력:

a
b
c

$var2의 출력에 공백 문자가 포함되어 있지만 $var1은 포함되어 있지 않은 이유는 무엇입니까?

( \n그리고 \x0A정확히 동일한 동작을 수행합니다.)

답변1

왜 printf의 결과를 인쇄해야 합니까?

var1="\n\x0A\n"
var2="\na\nb\nc"

printf $var1
printf $var2

그러면 효과가 있을 것입니다.

*nix 시스템 - \n줄 끝으로 LF, 0x0A(12월 10일)

Windows 운영 체제 - CR LF, 0x0D 0x0A(dec: 13 10)를 \r \n줄 끝으로 사용합니다.

관련 정보