파일 끝 마커를 읽는 동안 cat에서 stderr로

파일 끝 마커를 읽는 동안 cat에서 stderr로

출력을 사용할지 여부에 대한 질문은 제쳐두십시오.~해야 한다stderr로 가는지 여부에 관계없이 아래 cat 명령의 출력을 stderr로 리디렉션해야 한다면 어떻게 하시겠습니까?

function usage {
  cat << "  EOF_USAGE"
  usage: FrameworkBuildScript --clean-all --clean-sdk-only --build-in-externals --debug-only --release-only --resources-only

  --clean-all                   Clean all libraries before building
  --clean-sdk-only              Clean SDK library before building
  --build-in-externals          Include all libraries in the SDK library
  --debug-only                  Build only the debug SDK framework
  --release-only                Build only the release SDK framework
  --resources-only              Build only the SDK resource bundles

  Example: $0 --clean --build-in-externals
  EOF_USAGE
}

답변1

cat << EOF >&2
...
EOF

또는:

cat >&2 << EOF
...
EOF

또는:

>&2 cat << EOF
...
EOF

또는:

usage() {
  cat << EOF
...
EOF
} >&2

function usage {문법 입니다 ksh. 이런 방식으로 정의된 함수가 AT&T 구현에서 ksh다르게 동작하는 경우에만 의미가 있습니다 . 다른 셸에서는 지원되는 비표준 구문이 usage() {Bourne/POSIX 구문과 동일하게 동작합니다.

관련 정보