9

ここに簡単なプログラムがあります。

class Redirection {

public static void main (String args[]){
    System.out.println("Hello World_Stdout");
    System.err.println("Hello World_Stderr");
}

}

すべての出力をコンソールに表示したいのですが、同時に stdout と stderr を別のファイルに保存したいと考えています。次のコマンドを試しましたが、役に立ちませんでした。

$java Redirection 3>&1 2>stderr 1>stdout 1>&3 2>&3

stderr& stdout ファイルのファイル サイズは 0 です。

したがって、基本的には「tee」コマンドが行うことを実行したいのですが、stderr もキャプチャしたいと考えています。

4

1 に答える 1

17

ここに答えがあります:

./yourScript.sh > >(tee stdout.log) 2> >(tee stderr.log >&2)

スクリプトに STDOUT および STDERR 記述子がある場合、2 つのファイルstdout.log + stderr.logおよびすべての出力 (Err + Out) がコンソールに出力されます。

于 2012-10-17T06:01:31.907 に答える