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 nodejs
lugar.
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.js
ejecuta el script si estánode
onodejs
está en$PATH
.node foo.js
tambié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 nodejs
y node
?
node
para su secuencia de comandos o tener una especie de secuencia de comandos de creación que modifique el shebang.