我在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错误。
答案 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
有更好的方法吗?