我正在尝试提取公用的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可能是一种特殊情况。为什么会这样?
我应该怎么做才能正确地将命令输出流式传输到函数?