2013-05-16 31 views
16

我需要從原始的要點加載一個shell腳本,但我找不到獲取原始URL的方法。如何從github獲得gist的原始版本?

curl -L address-to-raw-gist.sh | bash 
+0

注啓用bash補全:依據原始URL只是改變了(2014年2月)。請參閱[我的答案](http://stackoverflow.com/a/21984072/6309) – VonC

回答

16

然而有,查找raw按鈕(在源代碼的右上角)。

+18

雖然該鏈接確實獲得了原始數據,但它被硬編碼爲該特定提交。 – spuder

25

2014年2月:原始網址剛剛更改。
見「Gist raw file URI change」:

原始主機的所有要點的文件立即改變。
此更改是爲了進一步隔離受信任的GitHub應用程序中的用戶內容。

新主機是

https://gist.githubusercontent.com. 

現有的URI將重定向到新的主機。

https://gist.github.com/<username>/<gist-id>/raw/...

之前,現在是https://gist.githubusercontent.com/<username>/<gist-id>/raw/...

例如:

https://gist.githubusercontent.com/VonC/9184693/raw/30d74d258442c7c65512eafab474568dd706c430/testNewGist

KrisWebDev增加in the comments

如果你想有一個要點文件的最後一個版本,只是從URL刪除<commit>/

https://gist.githubusercontent.com/VonC/9184693/raw/testNewGist

+1

@KrisWebDev好點。我已經在答案中列入了更多的知名度,並附有一個例子。 – VonC

+2

'所有Gist文件的原始主機正在立即更改。' 但我發現它並非立即 – Gank

+1

更好的方法是注意API: https://api.github.com/gists/9184693 你可以從那裏得到raw_url並使用它。這個答案毫無疑問是正確的,但是API將永遠不會過時,它可能會像2014年2月一樣再次改變它。 –

0

Gitlab片段提供短期簡潔的網址,很容易創建,並與進展順利命令行。

樣品例如:通過修補/etc/bash.bashrc

sudo su - 
(curl -s https://gitlab.com/snippets/21846/raw && echo) | patch -s /etc/bash.bashrc