Obtenha os tarballs!
Mesmo que o Github não exponha isso no site (aparentemente anos atrás ), eles fornecem tar.gz arquivos dos repositórios.
wget -qO - https://github.com/<user>/repo>/archive/master.tar.gz | tar zx --strip-components=1 <repo>-master/<filename>
<user> , <repo> , <filename> é o que você espera que eles sejam. --strip-components é usado para evitar que tar crie um diretório com o nome do repo.
Portanto:
$ wget -O - https://github.com/au-answers/dupe-check/archive/master.tar.gz | tar zx --strip-components=1 dupe-check-master/dupe-check
--2016-04-25 08:28:50-- https://github.com/au-answers/dupe-check/archive/master.tar.gz
Resolving github.com (github.com)... 192.30.252.128
Connecting to github.com (github.com)|192.30.252.128|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/au-answers/dupe-check/tar.gz/master [following]
--2016-04-25 08:28:51-- https://codeload.github.com/au-answers/dupe-check/tar.gz/master
Resolving codeload.github.com (codeload.github.com)... 192.30.252.160
Connecting to codeload.github.com (codeload.github.com)|192.30.252.160|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2470 (2.4K) [application/x-gzip]
Saving to: ‘STDOUT’
- 100%[========================================================================================================================================>] 2.41K --.-KB/s in 0s
2016-04-25 08:28:52 (21.5 MB/s) - written to stdout [2470/2470]
$ ll dupe-check
-rwxr-xr-x 1 muru muru 7.5K Mar 5 21:46 dupe-check
Não estou convencido de que este seja um caminho particularmente amigável. Um chmod +x adicional é IMO infinitamente preferível.
Tentativas com falha
Obtenha os zips!
Você pode processar a substituição no zsh para extrair os zips vinculados na página do repositório do Github. O Github, felizmente, adiciona metadados extras aos zips para que as permissões sejam preservadas. unzip no Ubuntu é capaz de usar isso para restaurar permissões. Então:
unzip -j =(wget -O - https://github.com/au-answers/dupe-check/archive/master.zip) dupe-check-master/dupe-check
Infelizmente, =() é uma coisa ruim. Cria um arquivo adequado em vez de um FIFO. Bash não tem um equivalente. <() é sempre FIFO.
Git arquivos únicos
Você pode obter um um único arquivo do repo usando git . No entanto, o Github não suporta isso .