我怎样才能获得我的git(在windows上的msysgit)post-commit脚本以python而不是bash的形式调用我的python脚本?

时间:2009-10-10 03:55:53

标签: git bash msysgit

我在python中写了一个帖子提交脚本,“c:\ myfolder \ myscript.py”。我想从post-commit脚本调用它。这找不到它:

#!/bin/sh
c:\myfolder\myscript.py

bash认为命令c:myfoldermyscript.py - 斜线被删除。

所以,我尝试了斜杠:

#!/bin/sh
c:/myfolder/myscript.py

但是看起来bash认为我的.py文件本身就是一个bash脚本,因此我错误地试图解释它时会出现bash错误。

2 个答案:

答案 0 :(得分:6)

脚本的第一行称为Shebang,唯一的问题是:

  

Shebangs指定系统可执行文件的绝对路径;这可能会导致具有非标准文件系统布局的系统出现问题   即使系统具有相当标准的路径,同一操作系统的变体也很可能具有所需解释器的不同位置。

唯一的另一种方法是直接在脚本中调用python

 #!/bin/sh
 C:/apps/Python25/python c:/myfolder/myscript.py

无论哪种方式,正斜杠都是有序的:这是一个bash会话,用于执行Git及其挂钩。
直接调用python解释器的兴趣是用环境变量替换它:

 #!/bin/sh
 $PYTHON_HOME/python $SCRIPT_FOLDER/myscript.py

答案 1 :(得分:5)

添加以下内容,我的python解释器的路径,作为我的python脚本的第一行工作:

#!C:/apps/Python25/python

有更好的方法吗?