编写节点Shell脚本时未find命令

我正在尝试使用Node.js创build一个类似于像express和mocha这样的包的shell脚本。 我的初步testing报告命令没有find,所以我支持以下脚本:

#!/usr/bin/env node console.log("printing stuff"); 

以上应该只是输出“打印的东西”时运行; 但是,这也是行不通的。

我试图通过文件目录中的./script执行脚本,以确保它不是一个path问题。 尝试在特权状态(即sudo)下执行会产生相同的结果/错误消息。

任何想法我需要做什么?

当你使用( #!/usr/bin/env node ,你会说“在PATH上查找一个名为节点的程序”。 如果做node -v工作,就像@Ryan说的那样,shebang应该可以正常工作。 任何机会你有一个shell别名或shell函数命名node ? 这可能会给你一个幻觉,即使没有,PATH也是正确的。 但实质上,只要确保node二进制文件所在的目录(节点安装目录下的bin目录)位于PATH环境variables上,那么事情就应该在这一点上起作用。

 export PATH=/usr/local/node/bin:$PATH 

找出我的问题。 我做了shell脚本,但忘了将执行权限设置到文件上。 做一个chmod a+x script解决了这个问题。