我喜欢javascript,所以当我听说基于V8的Javascript运行时Node.js时,我很兴奋。我更喜欢在Javascript中继续我的shell脚本。我的问题是:如何在不调用node ~/Scripts/myscript.js
的情况下运行我的脚本?在我chmod +x
我的脚本之后,它尝试以bash脚本而不是Node.js javascript运行。
答案 0 :(得分:35)
是什么让你当前的shell启动bash是你的当前shell(bash?)不知道如何处理file.js.这就是为什么unix的众神发明了shebang:
字符序列由字符编号和感叹号(#!)组成,当它作为文本文件第一行中的前两个字符出现时。在这种情况下,类Unix操作系统中的程序加载器将第一行的其余部分解析为解释器指令,并使用指定为参数的任何命令行选项调用字符序列后指定的程序。
所以,在你的情况下,我会尝试把
#!/usr/bin/env node
位于脚本的顶部。你可以看到,例如在'inode'(交互式node.js)shell中应用了beeing,这可能是另一个触发脚本的选项。
https://github.com/bancek/node-interactive-shell/blob/master/inode.js
答案 1 :(得分:0)
您始终可以创建一个为您运行节点的shell脚本。
或者,如果要创建可以在没有安装node.js的环境中运行的脚本,可以使用installer-maker。