http://www.python.jp/pipermail/python-ml-jp/2003-August/002460.html
Unix 系のプラットフォームでは、ファイルの1行目に
#!/usr/bin/python
と書くと、2行目以降の内容が /usr/bin/python への入力として取り扱われます。#!/usr/bin/env python
と書くと、/usr/bin/env python を実行したときに起動するプログラムへの入力
として取り扱われます。#! 以降には、絶対パスを指定する必要があり、(1) の方法では
/usr/bin/python がないとエラーが出ます。(2) の方法では PATH のどこかに
python があれば動きます。多くのプラットフォームでは /usr/bin/env がある
ので (2) のほうが可搬性があります。
これは Python に限らず、perl でも、awk でも、標準入力から読み込む自作の
プログラムでも同じです。
めも