Subversion post-commit hookを作成しています。post-commit フックがメッセージをマーシャリングしてクライアントに戻すように、1 つのコマンドの出力を強制的に STDERR にする必要があります。
STDOUT を STDERR に強制するにはどうすればよいですか?
この簡単な例では、ファイルfoo
は存在しますが、存在bar
しません。
# touch foo
# ls foo bar
ls: bar: No such file or directory
foo
STDOUTをSTDERRに送信したい。でこれができると思った>&2
のですが、うまくいかないようです。
次の例では、STDOUT を STDERR にリダイレクトすることを期待してい/tmp/test
ました。これには、コマンドの出力とエラーが含まれます。しかし、代わりに、STDOUT が STDERR にリダイレクトされることはなく/tmp/test
、コマンドからのエラーのみが含まれているようです。
# ls foo bar >&2 2>/tmp/test
foo
# cat /tmp/test
ls: bar: No such file or directory
私は何が欠けていますか?
CentOS、Ubuntu、FreeBSD、および MacOSX で上記の例を試しました。