Node.js очень популярен в наши дни, и я написал для него несколько скриптов. К сожалению, совместимость является проблемой. Официально должен вызываться интерпретатор Node.js node
, но nodejs
вместо этого Debian и Ubuntu поставляют исполняемый файл .
Мне нужны переносимые скрипты, с которыми Node.js может работать в максимально возможном количестве ситуаций. Предполагая, что имя файла есть foo.js
, я действительно хочу, чтобы скрипт выполнялся двумя способами:
./foo.js
запускает скрипт, если либоnode
илиnodejs
находится в$PATH
.node foo.js
также запускает скрипт (при условии, что вызывается переводчикnode
)
Примечание . Ответы xavierm02 и меня являются двумя вариантами сценария полиглота. Я все еще заинтересован в чистом решении Шебанга, если таковое существует.
alphacentauri
и тому подобное. Если есть исполняемый файл nodejs
, вы можете быть на 99% уверены, что это Node.js. Почему бы не поддержать и то, nodejs
и другое node
?
node
для вашего скрипта, либо использовать скрипт make, который изменяет shebang.