Node.js es muy popular en estos días y he estado escribiendo algunos scripts en él. Lamentablemente, la compatibilidad es un problema. Oficialmente, se supone que se llama al intérprete Node.js node, pero Debian y Ubuntu envían un ejecutable llamado en su nodejslugar.
Quiero scripts portátiles con los que Node.js pueda trabajar en tantas situaciones como sea posible. Suponiendo que el nombre de archivo es foo.js, realmente quiero que el script se ejecute de dos maneras:
./foo.jsejecuta el script si estánodeonodejsestá en$PATH.node foo.jstambién ejecuta el script (suponiendo que se llama al intérpretenode)
Nota: Las respuestas de xavierm02 y de mí mismo son dos variaciones de un script políglota. Todavía estoy interesado en una solución pura shebang, si existe.
alphacentauri. Si hay un ejecutable llamado nodejs, puede estar 99% seguro de que es Node.js. ¿Por qué no apoyar a ambos nodejsy node?
nodepara su secuencia de comandos o tener una especie de secuencia de comandos de creación que modifique el shebang.