2016-04-28 17 views
0

私は私のスクリプトは、私は次のように使用してい7zのログ7zのアーカイブ

を抽出しながら、ログファイルを作成したい抽出:

7z x "*.7z" >> logfile.log 2>&1 

しかし、端末が出力を表示停止し、ログファイルが空白です。 ..

答えて

0

おそらく7zプログラムは、そのstdoutが端末(TTY)ではないことを検出しており、この場合は冗長ではないことを選択しています。

ドキュメント残念ながら、7zのドキュメントでは、多くのプログラムのように「冗長」フラグは提供されていないようです。だから私はあなたが簡単に出力をオンにすることができるかどうかはわかりません。

しかし、あなたはstdout上に端末を持っていると思うようにプログラムを誘惑することができます!例:より多くのアイデアについては

script logfile.log 7z x "*.7z" 

は、以下を参照してください。Bash: trick program into thinking stdout is an interactive terminal

+0

しかし、スクリプト全体を記録するのではないでしょうか? 私はちょうど7zをログする必要があります。そうでなければ、ログは巨大になります。ありがとう – NeMesiS

+0

@NeMesiS:試してみてください。それは7zからの出力をログに記録します。 –

0

をあなたがSTDOUTにSTDERRをリダイレクトする(つまり、2>&1だ)とログファイルにSTDERRをリダイレクトしています。試してください7z x "*.7z" 2>&1 > logfile.log。希望があれば:

% 7z c /tmp/TailsBSDPLIST.7z ~/TailsBSD > /tmp/logfile.log
% cat /tmp/logfile.log
7-Zip (a) 9.38 beta Copyright (c) 1999-2014 Igor Pavlov 2015-01-03 p7zip Version 9.38.1 (locale=C,Utf16=off,HugeFiles=on,1 CPU)

Command Line Error: Unsupported command: c

+0

ありがとうございますが、私は同じ問題が発生します – NeMesiS

+0

うーん...奇妙な、私のために働く。編集を参照してください。 – hd1

関連する問題