%EB%A5%BC%20%ED%97%88%EC%9A%A9%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
내 스크립트에는 다음과 같은 echo 문이 있습니다.
echo -ne "Check Script";
인쇄될 것으로 예상됩니다
Check Script
하지만 다음과 같은 결과가 나타납니다.
-ne Check Script
그러나 다른 컴퓨터에서 동일한 스크립트를 실행하면 예상한 결과가 나타납니다. 스크립트가 다르게 동작하도록 하는 컴퓨터별 변수나 속성이 있을 수 있습니다.
답변1
이는 POSIX 및 UNIX의 일관된 동작입니다 echo
. UNIX 일관성을 위해 다음과 echo
같이 작성할 수 있습니다.
echo 'Check Script\c'
최고는아니요echo를 사용하고 대신 printf를 사용하십시오. 이는 이식성 문제가 적습니다.
printf %s 'Check Script'
POSIX에서는 이를 -n
확장으로 허용합니다(그러나 지정되지 않은 동작 포함). echo -e
출력을 의미하므로 -e\n
이 맥락에서는 POSIX bash
와 zsh
호환되지 않습니다.