【发布时间】:2016-04-28 10:49:45
【问题描述】:
我想在我的脚本提取 7z 时创建一个日志文件
我正在使用以下内容:
7z x "*.7z" >> logfile.log 2>&1
但是终端停止显示输出并且日志文件是空白的...
【问题讨论】:
我想在我的脚本提取 7z 时创建一个日志文件
我正在使用以下内容:
7z x "*.7z" >> logfile.log 2>&1
但是终端停止显示输出并且日志文件是空白的...
【问题讨论】:
可能7z 程序检测到它的标准输出不是终端 (TTY),并且在这种情况下选择不那么冗长。
不幸的是,7z 文档似乎没有像许多程序那样提供“详细”标志。所以我不确定您是否可以轻松打开输出。
但是你可以欺骗程序让它认为它在标准输出上有一个终端!例如:
script logfile.log 7z x "*.7z"
更多想法请见:Bash: trick program into thinking stdout is an interactive terminal
【讨论】:
您将 STDERR 重定向到 STDOUT(即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 版权所有 (c) 1999-2014 Igor Pavlov 2015-01-03 p7zip 版本 9.38.1 (locale=C,Utf16=off,HugeFiles=on,1 CPU)命令行错误: 不支持的命令: c
【讨论】: