4

Pythonでコミット後のスクリプト「c:\ myfolder\myscript.py」を作成しました。コミット後のスクリプトから呼び出したい。これはそれを見つけられません:

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

bashは、コマンドc:myfoldermyscript.pyを考慮します-スラッシュは削除されます。

だから、私はスラッシュを試しました:

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

しかし、bashは私の.pyファイル自体がbashスクリプトであると考えているようです。そのため、誤って解釈しようとすると、bashエラーが発生します。

4

2 に答える 2

6

スクリプトの最初の行はShebangと呼ばれ、唯一の問題は次のとおりです。

シバンは、システム実行可能ファイルへの絶対パスを指定します。これは、非標準のファイル システム レイアウトを持つシステムで問題を引き起こす可能性があります。
システムがかなり標準的なパスを持っている場合でも、同じオペレーティング システムのバリアントが目的のインタープリターに対して異なる場所を持っている可能性は十分にあります。

他の唯一の方法は、スクリプト内で直接 python を呼び出すことです

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

いずれにせよ、スラッシュが必要です。これは、Git とそのフックを実行するために使用される bash セッションです。
Python インタープリターを直接呼び出すことの利点は、それを環境変数に置き換えることです。

 #!/bin/sh
 $PYTHON_HOME/python $SCRIPT_FOLDER/myscript.py
于 2009-10-10T06:49:29.153 に答える
5

私のpythonスクリプトの最初の行が機能したので、次の、私のpythonインタープリターへのパスを追加します。

#!C:/apps/Python25/python

より良い方法はありますか?

于 2009-10-10T04:03:14.973 に答える