![공백 문자만 포함된 변수를 echo 및 printf 출력할 수 없는 이유는 무엇입니까? [복사]](https://linux55.com/image/153367/%EA%B3%B5%EB%B0%B1%20%EB%AC%B8%EC%9E%90%EB%A7%8C%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EB%B3%80%EC%88%98%EB%A5%BC%20echo%20%EB%B0%8F%20printf%20%EC%B6%9C%EB%A0%A5%ED%95%A0%20%EC%88%98%20%EC%97%86%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
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
줄 끝으로 사용합니다.