ファイルにリダイレクトする方法と、teeを使用する方法を知っています。基本的なレベルで。そう
$ alias outanderr='bash -c "echo stdout >&1; echo stderr >&2"'
# A fake "application" displaying both output and error messages.
$ outanderr 1>file # redirect stdout to a file, display stderr
stderr
$ outanderr 2>file # redirect stderr to a file, display stdout
stdout
$ outanderr 1>file 2>&1 # redirect both to a file, display nothing
$ outanderr | tee file; echo "-- file contents --" && cat file
# redirect stdout to a file, display both (note: order is messed up)
stderr
stdout
-- file contents --
stdout
$ outanderr 2>&1 | tee file; echo "-- file contents --" && cat file
# redirect both to a file, display both
stdout
stderr
-- file contents --
stdout
stderr
問題は、以下の出力を得るために疑問符の代わりに何を書くかです。
$ outanderr ???; echo "-- file contents --" && cat file
# redirect both to a file, display stderr
stderr
-- file contents --
stdout
stderr
内容:
- bashを想定しています。
- 順序はファイルに保持する必要があります。
- stderrの内容はリアルタイムで行ごとに表示されます。つまり、バッファリングは行われません。
- 個別のスクリプトファイルを使用できます。
- 魔法が必要な場合があります。
@Kevin質問はそれよりも一般的だと思います。これは、
—
lgeorget
outanderr
stdoutとstderrに1行を出力する単なるエイリアスです。(可能であれば)アイデアは、プログラムを変更せずに、どのプログラムでも機能する汎用ソリューションを構築することです。
@lgeorget私はそれを理解していますが、一般的なソリューションのすべての制約を厳密に満たすことができるとは思わないので、特定の制約を取得できるかどうかを見ていました。
—
ケビン
@Igeorgetは正しい。
—
TWiStErRob
outanderr
プログラムをどの程度管理していますか?