cat << EOF >&2
...
EOF
Ou:
cat >&2 << EOF
...
EOF
ou:
>&2 cat << EOF
...
EOF
Ou:
usage() {
cat << EOF
...
EOF
} >&2
function usage { é a sintaxe ksh . Isso só faz sentido nas implementações AT & T de ksh , onde as funções definidas dessa maneira se comportam de maneira diferente. Em outros shells, essa sintaxe não padrão, onde suportado, se comporta da mesma forma que a sintaxe Bourne / POSIX usage() { .