是否可以运行Node.js脚本而不用调用`node`?

我喜欢javascript,所以当听说Node.js ,一个基于V8的Javascript运行时,我感到非常兴奋。 我宁愿在Javascript中执行我的shell脚本。 我的问题是:如何运行我的脚本,而无需调用node ~/Scripts/myscript.js ? 在我chmod +x我的脚本后,它试图运行而不是一个Node.js JavaScript的bash脚本。

什么让你当前的shell开始bash是你的当前shell(bash?)不知道如何处理file.js。 那为什么unix的神发明了shebang :

当文本文件的第一行中的前两个字符出现时,由字符数字符号和感叹号(#!)组成的字符序列。 在这种情况下,类Unix操作系统中的程序加载器会将第一行的其余部分parsing为解释器指令,并使用任何指定为参数的命令行选项来调用在字符序列之后指定的程序。

所以,在你的情况下,我会尝试把

  #!/usr/bin/env node 

在脚本的顶部。 你可以看到beeing应用在'inode'(interactive node.js)shell中,这可能是另一个select来激活你的脚本。

https://github.com/bancek/node-interactive-shell/blob/master/inode.js

你总是可以简单地创build一个为你运行节点的shell脚本。

或者,如果您要创build可以在没有安装node.js的环境中运行的脚本,则可以使用installer-maker 。