Linux 通过SSH shell创建文本文件

Linux 通过SSH shell创建文本文件,linux,git,bash,Linux,Git,Bash,我正在尝试创建一个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

我正在尝试创建一个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
然后关闭文件


有人能给我一些建议吗?

为什么你们试图在脚本中使用vi来向文件中添加行? 问题是vi是交互式的,但您正在研究如何使其自动化;-)

你应该使用

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

为什么在脚本中使用vi只是为了在文件中添加行? 问题是vi是交互式的,但您正在研究如何使其自动化;-)

你应该使用

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

我相信在git使用之前,您需要使钩子脚本可执行

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

在那之后,在推送之后,脚本应该被执行。

我相信在git使用之前,您需要使钩子脚本可执行

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

之后,在推送之后,应该执行脚本。

为什么要使用
vi
echo'GIT\u WORK\u TREE=/path/htdocs GIT checkout-f'>/path/website.GIT/hooks/post update
还不够吗?感谢您的关注,我对Bash没有经验,所以请循序渐进地阅读本文,为什么要使用
vi
echo'GIT\u WORK\u TREE=/path/htdocs GIT checkout-f'>/path/website.GIT/hooks/post update
还不够吗?感谢您的关注,我对Bash没有太多经验,所以只需一步一步地阅读文章,这并不是对他的问题的答案,也没有理由不使用vim。这是为什么?他的问题不是钩子,而是脚本,这就是钩子!对不起,我的错。我不能撤销我的投票,但是如果你对你的帖子做一个小的修改,我会的。-1,这不是对他的问题的回答,也没有理由不使用vim。这个负号是干什么的?他的问题不是钩子,而是脚本,这就是钩子!对不起,我的错。我不能撤消我的投票,但是如果你对你的帖子做一个小的修改,我会的。我相信这是文章的下一行,问候,比尔,我相信这是文章的下一行,问候,比尔