我正在尝试创建一个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
然后关闭文件。
有人能就我现在该做什么向我提出一些建议吗?
答案 0 :(得分:3)
为什么你尝试在脚本中使用vi只是为了将行添加到文件中? 问题是vi是交互式的,但你正在寻找如何自动化这个;-)
你应该使用
echo "GIT_WORK_TREE=/path/htdocs git checkout -f" >> ~/domains/$name.git/hooks/post-update
答案 1 :(得分:1)
我相信你需要在git使用它之前使钩子脚本可执行。
chmod +x /path/website.git/hooks/post-update
之后,在推送之后,脚本应该被执行。