Estoy tratando de descargar un tarball de GitHub usando cURL , pero no parece estar redirigiendo:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2
<html><body>You are being <a href="https://nodeload.github.com/pinard/Pymacs/tarball/v0.24-beta2">redirected</a>.</body></html>
Nota: wget funciona para mí:
$ wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2
Sin embargo, quiero usar cURL porque, en última instancia, quiero descomprimirlo en línea con algo como:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
Descubrí que la URL después de la redirección resultó ser https://download.github.com/pinard-Pymacs-v0.24-beta1-0-gcebc80b.tar.gz , pero me gustaría que cURL fuera lo suficientemente inteligente como para figurar esto afuera.

https, probablemente también lo necesite-k.-Lsignifica seguir las redirecciones.La forma modernizada de hacer esto es:
Reemplazar
user-or-org,repoy ensha1-or-refconsecuencia.Si desea un archivo zip en lugar de un tarball, especifique en
.ziplugar de.tar.gzsufijo.También puede recuperar el archivo de un repositorio privado, especificando la
-u token:x-oauth-basicopción de curl. Reemplácelotokencon un token de acceso personal.fuente
https://[email protected]/user-or-org/repo/archive/sha1-or-ref.tar.gzcurl -OL https://github.com/user-or-org/repo/releases/download/version/<asset name>.tar.gzVer ejemplo aquíTambién puede utilizar wget para »descomprimirlo en línea«. Simplemente especifique stdout como archivo de salida (
-O -):fuente
Todas las demás soluciones requieren especificar un número de lanzamiento / versión que obviamente rompe la automatización.
Esta solución, actualmente probada y conocida por su funcionamiento con Github API v3 , sin embargo, se puede usar de forma programática para obtener la ÚLTIMA versión sin especificar ninguna etiqueta o número de versión y des-TAR del binario a un nombre arbitrario que especifique en el conmutador
--one-top-level="pi-ap". Simplemente cambie el usuario f1linux y repo pi-ap en el siguiente ejemplo con sus propios detalles y Bob es su tío:fuente
con un directorio específico
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zxfuente
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx; cd -