2016-04-28 62 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