Интерпретируемые сценарии: явное или явное выполнение - PullRequest
1 голос
/ 17 июля 2010

В этот вопрос суперпользователя Мне сообщили, что лучше выполнять сценарии, написанные на интерпретируемом языке (php, python и т. Д.), Явно выполняя интерпретатор и предоставляя сценарий в качестве аргумента, например:

> php script.php

, а не добавление строки в скрипт для указания ОС на его выполнение, например:

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

Почему это так?Интуиция подсказывает мне, что безопаснее, если сценарий перемещен в систему, в которой исполняемый файл интерпретатора находится по другому пути, но это единственная причина?

Ответы [ 2 ]

1 голос
/ 17 июля 2010

Переносимость улучшается, если вы используете эту идиому:

#!/usr/bin/env php

, но у нее есть свои недостатки;см. более подробное обсуждение на http://sites.google.com/site/frankpzh/knowledge-library/shebang

0 голосов
/ 17 июля 2010

Различные пути могут быть основной причиной, особенно когда двоичные файлы начинают храниться в путях, обозначенных x64, или устанавливаются в /usr/local/bin/php.

.
...