2016-04-28 110 views
0

当我想创建一个日志文件,而我的脚本提取的7z日志提取7z格式

我使用了以下内容:

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

但终端停止显示输出和日志文件是空的。 ..

回答

0

可能7z程序检测到它的标准输出不是终端(TTY),并且在这种情况下选择不要这么冗长。

不幸的是,7z文档似乎没有提供像许多程序一样的“详细”标志。所以我不确定你可以轻松打开输出。

但你可以欺骗程序,认为它有一个标准输出终端!例如:

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

更多的想法,看到:Bash: trick program into thinking stdout is an interactive terminal

+0

但是不会记录整个脚本? 我只需要登录7z,否则日志将是巨大的,谢谢 – NeMesiS

+0

@NeMesiS:试试吧。它将记录来自7z的输出。 –

0

您要重定向错误输出到标准输出(这是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