읽었음에도 불구하고스티븐~의답변echo
기본적으로 VS의 모든 측면 에 초점을 맞추고 있는데 printf
, 이것이 내 질문에 대한 답인지는 확실하지 않습니다.
에 의해 생성된 개행 문자는 echo
옵션을 사용하지 않고도 거의 모든 시스템에 항상 존재합니까? :
POSIX 스크립트가 있는데 관련 부분은 다음과 같습니다.
printf '\n'; printf '\n' >&2
printf
나는 이 상황을 계속 견뎌야 하는지 스스로에게 물었습니다.
더 좋아 보일 수도 있습니다:
echo; echo >&2
하지만 저는 전문가가 아니기 때문에 잘 모르겠습니다.
답변1
에 의해 생성된 개행 문자는
echo
옵션을 사용하지 않고도 거의 모든 시스템에 항상 존재합니까?
정말 항상 거기에 있는지는 모르겠어요모두시스템이지만 그게~해야 한다모든 POSIX 파생 시스템에 존재합니다. ~에 따르면사양
설명
이echo
유틸리티는 인수를 표준 출력에 기록하고 그 뒤에 <newline>이 옵니다. 매개변수가 없으면 <newline>만 작성됩니다.
그 다음에
구현은 어떤 옵션도 지원해서는 안 됩니다.
일부 구현에서는 몇 가지 옵션을 지원하지만 옵션이 제공되지 않으면 POSIX로 대체해야 합니다. 그렇습니다. 개행 문자를 생성해야 합니다.
이론적으로, 불순응을 두려워한다면 불순응도 echo
두려워할 수도 있습니다 printf
. 실제로는 printf
강력한 코드를 작성하려고 할 때 어쨌든 이를 신뢰하는 것이 좋습니다. 왜냐하면 일반적으로 이것이 올바른 도구이고 일부 극단적인 경우에는 이를 버릴 필요가 없기 때문입니다("간단한 사례를 넘어" 참조).이 답변무슨 뜻인지 이해하세요).