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.