2013-03-22 36 views
0

我試圖創建一個通過我的共享託管帳戶SSH運行BASH shell腳本來自動詳細git的網站控制系統:創建通過SSH外殼的文本文件

http://danielmiessler.com/study/git/#website. 

到目前爲止,我的bash腳本是右出上述文章的:

cd ~/mydomains; mkdir $name.git; 
cd ~/mydomains/$name.git; git init --bare; 
/bin/vi ~/domains/$name.git/hooks/post-update 

第一2行正常工作。

當我添加第三行腳本似乎凍結了。在我的環境中vi的路徑是/ bin/vi。

直接從文章中,我想執行以下操作:

vi /path/website.git/hooks/post-update 

然後插入:

GIT_WORK_TREE=/path/htdocs git checkout -f 

然後關閉該文件。

任何人都可以提供一些建議,現在該怎麼做?

+2

爲什麼要使用'vi'? 'echo'GIT_WORK_TREE =/path/htdocs git checkout -f'>>/path/website.git/hooks/post-update'還不夠嗎? – Wrikken 2013-03-22 14:12:53

+0

感謝您的期待,我對Bash沒有經驗,所以只要按照步驟 – user61629 2013-03-22 14:31:16

回答

3

爲什麼你嘗試在腳本中使用vi來添加行到文件中? 問題是,六是互動的,但你正在尋找如何自動化這個;-)

您應該使用

echo "GIT_WORK_TREE=/path/htdocs git checkout -f" >> ~/domains/$name.git/hooks/post-update 
+0

-1一步一步,這不是他的問題的答案,並且沒有理由不使用vim。 – cmc 2013-03-22 14:13:57

+0

減號是什麼?他的問題不是鉤子,而是腳本,這使得鉤子! – 2013-03-22 14:17:01

+0

對不起,我的壞。我無法撤消我的投票,但如果您對自己的帖子進行了小小的修改,我會繼續。 – cmc 2013-03-22 14:21:30

1

我相信你需要做的鉤子腳本執行之前,git會使用它。

chmod +x /path/website.git/hooks/post-update 

之後,推後,腳本應該執行。

+0

會做,我相信這是文章的下一行,問候,條例草案 – user61629 2013-03-22 14:29:34