BASH / GNU Tar-管道输出正常运行

时间:2018-08-27 07:30:06

标签: bash pipe output tar

我正在尝试提取公用的tar.gz文件。我目前有:

function streamLog()
{
    if [ -n "$1" ]
    then
        IN="$1"
    else
        read IN # This reads a string from stdin and stores it in a variable called IN
    fi

    if [ -z "${IN}" ]
    then
        return 0
    else
        echo "${IN}" >> zlib.log
    fi
}

/bin/tar --no-same-owner -zxvf ~/src/zlib-1.2.11.tar.gz -C /build | streamLog

这会导致zlib中包含的许多文件无法提取。有些人做。我看不到任何输出发送到我的streamLog函数,这是意外的。到目前为止,这是我使用此方法失败的唯一命令。

我希望tar可能是一种特殊情况。为什么会这样?

我应该怎么做才能正确地将命令输出流式传输到函数?

0 个答案:

没有答案