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