2

ここには、スクリプトまたはコマンドライン(主にパイプ、リダイレクト、ティーを含む)に対してこれを行う方法を説明するスレッドがたくさんあります。私が見つけられなかったのは、一度設定すれば、単一のスクリプトを操作したり、すべてのコマンドラインに何かを追加したりすることなく、グローバルに機能するソリューションです。

私が達成したいのは 、パイプで「tee」を使用しているときにファイルにstderrを書き込む方法のトップアンサーに記載されているようなものです。

コンソールに書き込みながら、すべてのstderr出力がファイルに記録されるようにbashセッションを構成することはできませんか?.bashrcに追加して、ログインするたびに自動的に設定できるものはありますか?

ソフトウェア:Bash 4.2.24(1)-リリース(x86_64-pc-linux-gnu)、xterm、Ubuntu 12.04

4

1 に答える 1

0

@ 0xC0000022L の以前のソリューションでこのバリエーションを試してください (あなたの に入れます.bash_profile):

exec 2> >( tee log.file > /dev/tty )

いくつかの注意事項:

  1. プロンプトとコマンド ラインで入力したものはすべて stderr に出力されるため、ファイルに記録されます。

  2. 端末に表示されないコマンドを終了する改行に問題がある可能性があります。Linux ホストでは確認できますが、Mac OS X ラップトップでは確認できません。おそらく、他の誰かが問題を説明および/または修正できます。たとえば、「echo stdout」と入力すると、次のように表示されます。

    $ echo stdoutstdout
    $
    
于 2012-07-06T18:01:15.680 に答える