Estou tentando baixar um tarball do GitHub usando cURL , mas não parece estar redirecionando:
$ 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 mim:
$ wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2
No entanto, quero usar cURL porque, em última análise, quero descompactá-lo in-line com algo como:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
Descobri que o URL após o redirecionamento acabou sendo https://download.github.com/pinard-Pymacs-v0.24-beta1-0-gcebc80b.tar.gz , mas gostaria que cURL fosse inteligente o suficiente para descobrir isso fora.
https
, você provavelmente também precisará-k
.-L
significa seguir redirecionamentos.A maneira modernizada de fazer isso é:
Substitua
user-or-org
,repo
e emsha1-or-ref
conformidade.Se você quiser um arquivo zip em vez de um tarball, especifique em
.zip
vez do.tar.gz
sufixo.Você também pode recuperar o arquivo de um repositório privado, especificando a
-u token:x-oauth-basic
opção de curl. Substituatoken
por um token de acesso pessoal.fonte
https://[email protected]/user-or-org/repo/archive/sha1-or-ref.tar.gz
curl -OL https://github.com/user-or-org/repo/releases/download/version/<asset name>.tar.gz
Veja o exemplo aquiVocê também pode usar o wget para »descompactá-lo inline«. Basta especificar stdout como o arquivo de saída (
-O -
):fonte
Todas as outras soluções requerem a especificação de um número de lançamento / versão que obviamente interrompe a automação.
Esta solução - atualmente testada e conhecida por funcionar com Github API v3 - no entanto, pode ser usada programaticamente para obter a versão LATEST sem especificar qualquer tag ou número de versão e descompactar o binário para um nome arbitrário especificado na opção
--one-top-level="pi-ap"
. Basta trocar o usuário f1linux e repo pi-ap no exemplo abaixo com seus próprios detalhes e Bob é seu tio:fonte
com um dir específico
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx
fonte
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx; cd -