我正在 GitLab 中构建 CI/CD 脚本,并希望通过将curl 输出通过管道传输到 unzip 来解压缩当前目录中的curl 输出。
我能找到的所有答案都建议使用 wget、tar 或其他工具。
这是我所拥有的:
curl -L "$URL" | unzip - -d ./output
结果是“找不到output.zip,所以显然解压缩在管道时不理解破折号占位符。
unzip 似乎不支持从流管道中解压缩。
如果您有权访问 ditto 或 bsdtar,则可以使用它们。
curl -sSL "https://..." | ditto -x -k - $outdir
curl -sSL "https://..." | bsdtar -xvf- -C $outdir
如果您需要使用解压缩,只需将 zip 下载到临时文件中并从那里解压即可。
curl -sSL "https://..." -o archive.zip
unzip archive.zip -d $outdir
rm archive.zip