cURL을 사용하여 GitHub에서 tarball을 다운로드하려고하는데 리디렉션되지 않는 것 같습니다.
$ 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>
참고 : wget이 나를 위해 작동합니다.
$ wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2
그러나 궁극적으로 다음과 같은 인라인으로 압축을 풀고 싶기 때문에 cURL을 사용하고 싶습니다.
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
리디렉션 후 URL이 https://download.github.com/pinard-Pymacs-v0.24-beta1-0-gcebc80b.tar.gz 로 밝혀 졌지만 cURL이 충분히 똑똑해 지기를 바랍니다 . 이 밖으로.
답변
-L
옵션을 사용하여 리디렉션을 따르십시오.
curl -L https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
답변
이를 수행하는 현대화 된 방법은 다음과 같습니다.
curl -sL https://github.com/user-or-org/repo/archive/sha1-or-ref.tar.gz | tar xz
교체 user-or-org
, repo
그리고 sha1-or-ref
그에 따라.
tarball 대신 zip 파일을 원하면 접미사 .zip
대신 지정하십시오 .tar.gz
.
-u token:x-oauth-basic
curl 옵션을 지정하여 개인 저장소의 아카이브를 검색 할 수도 있습니다 . 교체 token
와 개인 액세스 토큰.
답변
wget을 사용하여»인라인까지«할 수도 있습니다. stdout을 출력 파일 ( -O -
) 로 지정하기 만하면됩니다 .
wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2 -O - | tar xz
답변
다른 모든 솔루션은 분명히 자동화를 중단하는 릴리스 / 버전 번호를 지정해야합니다.
이 솔루션은 현재 테스트되고 Github API v3 에서 작동하는 것으로 알려져 있지만 태그 또는 릴리스 번호를 지정하지 않고 프로그래밍 방식으로 최신 릴리스 를 가져 오고 switch에서 지정한 임의의 이름으로 바이너리를 un-TAR 할 수 있습니다 --one-top-level="pi-ap"
. 아래 예제에서 사용자 f1linux 와 repo pi-ap 을 자신의 세부 정보와 Bob의 삼촌으로 바꾸 십시오.
curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1
답변
특정 dir
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx