![특정한 경우에 추가 따옴표를 사용하지 않고 끝에 공백을 표시하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/222966/%ED%8A%B9%EC%A0%95%ED%95%9C%20%EA%B2%BD%EC%9A%B0%EC%97%90%20%EC%B6%94%EA%B0%80%20%EB%94%B0%EC%98%B4%ED%91%9C%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%EB%81%9D%EC%97%90%20%EA%B3%B5%EB%B0%B1%EC%9D%84%20%ED%91%9C%EC%8B%9C%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
다음 bash 스크립트를 고려하십시오.
~$ x="echo -n abc "
~$ $x && echo xyz
abcxyz
~$
호기심 때문에(원하는 대로), echo -n
무언가를 출력하는 명령이 포함된 bash 변수를 원합니다. 후행 공백을 유지하는 방식으로 정의할 수 있는지 궁금합니다.
확실한 선택은 따옴표를 사용하는 것입니다.
~$ x="echo -n \"abc \""
~$ $x && echo xyz
"abc "xyz
~$
그러나 이러한 인용문은 출력을 오염시킬 것입니다.
물론 두 번째 echo 명령 앞에 공백을 추가할 수도 있습니다.
~$ x="echo -n abc "
~$ $x && echo " xyz"
abc xyz
~$
그러나 질문의 목적은 x
후행 공백이 출력에 추가 따옴표가 없음을 의미하는 방식으로 변경될 수 있는지 확인하는 것입니다.$x
echo -n
매우 감사합니다.
답변1
이건 괴로워명령을 변수에 넣으려고 했지만 복잡한 경우는 항상 실패합니다!
해결책은 배열을 사용하는 것입니다.
$ x=(echo -n "abc ")
$ "${x[@]}" && echo xyz
abc xyz