¿Cómo puedo obtener mi git (msysgit en las ventanas) post-commit script para invocar mi script en Python Python como lugar de fiesta?

StackOverflow https://stackoverflow.com/questions/1547005

  •  20-09-2019
  •  | 
  •  

Pregunta

escribí un post cometer guión en Python, "c: \ myfolder \ myscript.py". Quiero invocar desde el script de post-commit. Esto no lo encuentra:

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

fiesta piensa el comando c: myfoldermyscript.py - las barras se caen

.

Por lo tanto, he intentado barras diagonales:

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

Pero entonces parece como bash piensa mi archivo .py es en sí misma una escritura del golpe, y así tengo errores de bash, ya que por error intenta interpretarla.

¿Fue útil?

Solución

La primera línea de un script se llama Shebang , y el único problema es:

  

Shebangs especifican rutas absolutas a ejecutables del sistema; esto puede causar problemas en sistemas que tienen diseños de sistema de archivos no estándar.
  Incluso cuando los sistemas tienen caminos bastante estándar, es muy posible para las variantes de un mismo sistema operativo que tienen diferentes ubicaciones para el intérprete deseada.

La única otra forma sería llamar pitón directamente dentro de la secuencia de comandos

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

De cualquier manera, las barras diagonales están en orden: se trata de una sesión de bash que se utiliza para ejecutar Git y sus ganchos
. El interés de llamar directamente al intérprete de Python sería sustituirlo por una variable de entorno:

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

Otros consejos

La adición de lo siguiente, el camino a mi intérprete de Python, como la primera línea de mi script en Python trabajó:

#!C:/apps/Python25/python

¿Hay mejores maneras?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top