通过SSH shell创建文本文件

时间:2013-03-22 14:09:18

标签: 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-update

前两行按预期工作。

当我添加第三行时,脚本似乎冻结了。在我的环境中,vi的路径是/ bin / vi。

直接来自文章我希望执行以下操作:

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

然后插入:

GIT_WORK_TREE=/path/htdocs git checkout -f

然后关闭文件。

有人能就我现在该做什么向我提出一些建议吗?

2 个答案:

答案 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

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