1

このスーパーユーザーの質問では、次のように、インタープリターを明示的に実行し、スクリプトを引数として提供することにより、インタープリター付き言語 (php、python など) で記述されたスクリプトを実行する方がよいとアドバイスされました。

> php script.php

スクリプトに行を追加して、OS に実行するように指示するのではなく、次のようにします。

#!/usr/bin/php
<?php
echo "hello world";
?>

なぜこれが真実なのですか?私の直感では、スクリプトがインタープリターの実行可能ファイルが別のパスにあるシステムに移動された場合、より安全であることがわかりますが、それが唯一の理由ですか?

4

2 に答える 2

1

次のイディオムを使用すると、移植性が向上します。

#!/usr/bin/env php

ただし、独自の欠点があります。http://sites.google.com/site/frankpzh/knowledge-library/shebangでより長い議論を参照してください。

于 2010-07-16T21:07:08.390 に答える
0

特に、バイナリが x64 で指定されたパスに格納されたり、/usr/local/bin/php にインストールされたりする場合は、異なるパスが主な理由になります。

于 2010-07-16T20:53:41.067 に答える