出力を使用するかどうかについての質問はお願いします。しなければならない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構文と同じように動作します。