0

スクリプトの次の行の背後にあるメカニズムを説明できますか?

exec > >(tee logfile.txt)

これは基本的に、STDOUT をコンソールに出力し、スクリプト内にある場合は logfile.txt も出力します。私はそれが何をするのか知っていますが、なぜそれがそのように機能するのかを正確に説明することはできません. >(command args) はプロセス置換であることを理解しています。私の主な混乱は、なぜ余分な ">" があるのですか? なぜ exec >(tee logfile.txt) を実行しないのですか?

4

1 に答える 1

2

exec( )のヘルプを参照してください$ help exec。該当部分は

COMMAND が指定されていない場合、リダイレクトは現在のシェルで有効になります。

各コマンドは、それを生成したシェルから標準出力を継承するため、すべてのコマンドは、端末ではなく、指定されたプロセス置換を標準出力として持つようになりました。

于 2013-01-28T00:20:25.907 に答える