stderrをstdoutにリダイレクトしてからinitスクリプトのファイルにリダイレクトしようとしていますが、stderrをstdoutにインポートすると「あいまいな出力リダイレクト」エラーが発生します。 stdoutだけがエラーを引き起こさず、ログファイルと呼ばれるものに記録されます。私は次を試しました
-jar /jbeaulau_test/microservices/config-server-0.0.2-RELEASE.jar &>/jbeaulau_test/microservices/log/all.log &
-jar /jbeaulau_test/microservices/config-server-0.0.2-RELEASE.jar >/jbeaulau_test/microservices/log/all.log 2>&1 &
どんなアドバイスも本当にありがとうございます。
ベストアンサー1
(t)cshを実行している場合、Ambiguous output redirect.
2つの競合するリダイレクトを設定しようとすると、次のことが発生します。
> echo foo > a > b
Ambiguous output redirect.
Bashでファイル名の代わりに複数の要素を含む配列を使用すると、次のエラーが発生する可能性があります。
$ set aa bb
$ echo foo > "$@"
bash: "$@": ambiguous redirect
答えで述べたようにcshでstderrリダイレクトが機能しません、この>&
演算子は(t)cshで動作し、stdoutとstderrをリダイレクトします。 2>&1
これはstderrをstdoutと同じ場所にリダイレクトする標準的な方法ですが、(t)cshはそれをサポートしません。代わりに、> foo 2>&1
リダイレクトターゲットfoo
、一般パラメータ、およびリダイレクトターゲットを2
組み合わせてリダイレクトが1
競合するため、エラーが発生します。
>&
Bashとzshでも動作しますが、標準機能ではありません。