如何将 wget 的结果通过管道传送到 tar

问题描述 投票:0回答:1

我正在尝试创建一个命令来下载最新的 .gz 文件并安装在 Dockerfile 中的容器上。我想出了这个,但我似乎无法让它发挥作用。

curl -s https://api.github.com/repos/fullstorydev/grpcurl/releases/latest | grep 'linux_arm64.tar.gz' | cut -d : -f 2,3 | tr -d \" | wget -qi - | sudo tar -C /usr/local/bin -xz;

我总是遇到这个错误

gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
bash curl wget tar
1个回答
0
投票

像这样:

file=$(
  curl -s https://api.github.com/repos/fullstorydev/grpcurl/releases/latest |
    jq '.assets | .[] | select(.browser_download_url | contains("linux_arm64")) .browser_download_url'
)
wget "$file"
© www.soinside.com 2019 - 2024. All rights reserved.