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.