Bash 下载带有curl的文件,并将其通过sha1sum导入tar

Bash 下载带有curl的文件,并将其通过sha1sum导入tar,bash,curl,pipe,checksum,Bash,Curl,Pipe,Checksum,我想下载一个带有curl的文件,使用sha1sum(或类似工具)检查其校验和,并将该文件导入tar进行解压缩,因为sha1sum的结果是0 我知道,如果没有校验和验证,它将是一个简单的curl | tar x,但是我很难将sha1sum放入其中,因为它的语法对我来说非常陌生。如果sha1sum能够接收校验和作为参数并从stdin读取文件,我可能能够做到这一点,但据我所知,这是不可能的。有没有办法做到这一点?我怀疑你能否直接做到这一点sha1sum(以及其他各种*sum工具都不是设计成这样的流水线

我想下载一个带有curl的文件,使用sha1sum(或类似工具)检查其校验和,并将该文件导入tar进行解压缩,因为sha1sum的结果是0


我知道,如果没有校验和验证,它将是一个简单的
curl | tar x
,但是我很难将sha1sum放入其中,因为它的语法对我来说非常陌生。如果sha1sum能够接收校验和作为参数并从stdin读取文件,我可能能够做到这一点,但据我所知,这是不可能的。有没有办法做到这一点?

我怀疑你能否直接做到这一点
sha1sum
(以及其他各种
*sum
工具都不是设计成这样的流水线。它们不会将文件发送到标准输出以让您继续管道。您可以将流复制到
sha1sum
tar
(如果
sha1sum
失败,则杀死
tar
)但这可能是你能做的最好的了)。
set -ex; \
curl -o wordpress.tar.gz -fSL "https://wordpress.org/wordpress-4.7.3.tar.gz"; \
echo "35adcd8162eae00d5bc37f35344fdc06b22ffc98 *wordpress.tar.gz" | sha1sum -c -; \
tar -xzf wordpress.tar.gz -C ./