私は私のpythonスクリプトのトップに標準的なシバンを持っています。Pythonのシバンにコマンドラインオプションを含めることは可能ですか?
#!/usr/bin/env python
しかし、私はまだ、多くの場合、私は私のスクリプトを実行してログファイルにバッファリングされていない出力をエクスポートしたいので、私は呼び出し終わる:
$ python -u myscript.py &> myscript.out &
は、私がシェバングに-uオプションを埋め込むことができます以下のようなので...
#!/usr/bin/env python -u
とだけコール:
$ ./myscript.py &> myscript.out &
...まだバッファリングを取得するには?私はうまくいかないと思うし、試してみる前にチェックしたい。これを達成するものはありますか?
はい、そうすべきです。 "シバン"は、スクリプトを担当するバイナリアプリケーションへのポインタに過ぎません。あなたがエイリアスppython = "python -u" 'を作成して'#!/ usr/bin/env ppython'を使用することができない場合 – Torxed
これは可能です。 – aestrivex
Torxed、あなたはあなたの答えを試しましたか?そのアプローチは、OSXやLinuxではうまくいきません。お使いのOSで動作する場合は、それが興味深いので詳細を共有してください。 OSXやLinuxでうまく動作しない(または、私が思うに、UNIXの風味がある)理由は、 'env'がパス上の実行可能ファイルを検索し、エイリアスがパスにないからです。エイリアスはシバンラインでも同じように動作しません。シバンラインでは組み込みが機能しないのと同じ理由でエイリアスは動作しません。あなたのOSがこれを許すなら、共有してください! –