質問

とは何で

#!/usr/bin/env python

第一線のpythonスクリプトで使われているのでしょうか。

役に立ちましたか?

解決

UNIXおよびLinuxでは、これはまた、 Wikiページを参照してください(インタプリタとして使用するバイナリ伝えます)。 例えば、シェル・スクリプトは/bin/shによって解釈される。

#!/bin/sh
あなたはバイナリがインストールされていると仮定することはできません、またその使用したいので、

今のpythonでそれは、少しトリッキーです。したがって/usr/bin/envトリック。これは、Pythonのバイナリが$PATHの最初の方の使用です。あなたは、

which pythonを実行していることを確認することができます

通訳ラインを使用すると、実行ファイルにそれをchmodingしてスクリプトを実行することができます。そして、ちょうどそれを実行しています。したがって、スクリプトを使用して

で始まります
#!/usr/bin/env python

これらの2つの方法は同等です:

$ python script.py

と(それ以前あなたがchmod +x script.pyをやったと仮定)。

$ ./script.py
<時間>

これは、システム全体のスクリプトを作成する場合に便利です。

cp yourCmd.py /usr/local/bin/yourCmd
chmod a+rx /usr/local/bin/yourCmd

そして、あなただけの

で、どこからでもそれを呼び出します
yourCmd

他のヒント

は、これはシェバングのラインと呼ばれています

  コンピューティングでは、シェバングは(もhashbang、hashpling、またはポンドバンと呼ばれる)の文字を指し、「#!」彼らは、テキストファイル内の最初の2つの文字があるとき。 Unixライクなオペレーティングシステムでは、ファイルがスクリプトであることを示すものとして、これらの2つの文字の存在を取り、ファイルの最初の行の残りの部分で指定されたインタプリタを使用して、そのスクリプトを実行してみてください。たとえば、Bourneシェルのためのシェルスクリプトは、最初の行で始まります:

UNIXおよび同様のオペレーティングシステムの下では、この行は、ファイルが実行された場合に使用されるべきインタプリタ伝えます。

Andriが言ったように。 Windowsでは、コマンドラインから起動するときに、ファイルを実行するために実行可能ファイルは協会に依存しています:

16:12:40.68 C:\>assoc .py
.py=Python.File

16:13:53.45 C:\>assoc Python.File
Python.File=Python File

16:14:01.70 C:\>ftype Python.File
Python.File="C:\Python30\python.exe" "%1" %*

は、Unixでは、シェルインタプリタがファイルで指定されたコマンドがある場合は、ファイルを開いて見て推論を行います。

'/usr/bin/env python'の検索$PATHのためのpythonとします。

通常 env は設定に使用される一部の環境変数 プログラム

何を行なえるコンピュータをどうするファイルだけを試してみてくださいファイル 指定なし通訳.. 詳細

ただ、ノート、この行は、Windowsでのインタプリタへのコメント、より多くの何ものではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top