我正在尝试创建一个BASH shell脚本,该脚本在我的共享主机帐户上通过SSH运行,以自动化git网站控制系统,详情请参见:
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前两行的工作与预期一致。
当我添加第三行时,脚本似乎冻结了。在我的环境中,vi的路径是/bin/vi。
直接从这篇文章中,我希望执行以下操作:
vi /path/website.git/hooks/post-update然后插入:
GIT_WORK_TREE=/path/htdocs git checkout -f然后关闭该文件。
谁能给我一些建议,告诉我现在该怎么做?
发布于 2013-03-22 22:12:57
为什么要在脚本中使用vi,仅仅是为了在文件中添加行?问题是vi是交互式的,但您正在寻找如何将其自动化;-)
你应该使用
echo "GIT_WORK_TREE=/path/htdocs git checkout -f" >> ~/domains/$name.git/hooks/post-update发布于 2013-03-22 22:15:04
我相信你需要让钩子脚本成为可执行的,然后git才会使用它。
chmod +x /path/website.git/hooks/post-update在这之后,在推送之后,脚本应该被执行。
https://stackoverflow.com/questions/15572390
复制相似问题