【问题标题】:Log when extracting 7z archives提取 7z 档案时的日志
【发布时间】:2016-04-28 10:49:45
【问题描述】:

我想在我的脚本提取 7z 时创建一个日志文件

我正在使用以下内容:

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

但是终端停止显示输出并且日志文件是空白的...

【问题讨论】:

    标签: bash unix


    【解决方案1】:

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

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

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

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

    更多想法请见:Bash: trick program into thinking stdout is an interactive terminal

    【讨论】:

    • 但这不会记录整个脚本吗?我只需要记录 7z 否则日志会很大,谢谢
    • @NeMesiS:试试看。它将记录 7z 的输出。
    【解决方案2】:

    您将 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

    【讨论】:

    • 谢谢,但我遇到了同样的问题
    猜你喜欢
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多