是否有态度避免通过管道将下载的数据发送到标准输出?

是否有态度避免通过管道将下载的数据发送到标准输出?

请考虑以下命令:

wget FILE -O - | tar -xzv -C DESTINATION

我从程序员那里了解到谁评论了我创建的 Bash 代码最好根据评论分开,以防止提取以错误方式下载的文件的情况tarwget

下载文件应该是与升级分开的一个步骤,因为在您想要升级时互联网可能会出现故障。如果您先下载文件,稍后可以跳过该步骤。它还可以节省带宽。例如,在 pkgsrc 中...

我从man bash on set 内置,由于选项的原因,使用set -euo将允许安全使用;如果没有成功(非零退出代码),管道不会将数据传输到.wget-etar

是否有态度避免通过管道将下载的数据发送到标准输出?

答案1

-e这里无济于事:“如果失败的命令是……管道中除最后一个命令之外的任何命令,则 shell 不会退出”。

至于这是否是一个好主意。这要看情况,会造成什么后果?

相关内容