节点和shebang:帮助通过命令行执行

Posted

技术标签:

【中文标题】节点和shebang:帮助通过命令行执行【英文标题】:node and shebang : help executing via command line 【发布时间】:2014-08-06 19:54:06 【问题描述】:

我的节点安装在:

/usr/local/bin/node

我已经添加了shebang:

#!/usr/local/bin/node

到文件顶部并给我的节点应用文件权限755,但是当我尝试运行时:

> ./my-app

我得到了旧的:

-bash: ./my-app: No such file or directory

我做错了什么?

【问题讨论】:

我猜你只是在错误的目录中。 ls -l ./my-app 应该有帮助。 哎呀,实际上,我想这是因为我的文件末尾有 .js:删除文件类型,从“my-app.js”到“my-app”允许我使用> ./my-app 运行它 【参考方案1】:

节点shebang是:

#!/usr/bin/env node

并非所有系统都将节点放置在同一位置,可能是您的位置不正确。这将找到它们。

Source

Also

【讨论】:

@asking 你应该可以在那里拥有.js 部分 嗯,然后我的头疼继续:我的文件被命名为“my-app.js”,有shebang #!/usr/bin/env node,节点在我的路径上“/usr/local/bin/节点”。我想,一旦我删除了“.js”,Mac OS 就会认为它是一个二进制文件,并且我能够这样执行它。但现在我又感到困惑了——当然。 @secretformula 作为记录,它可以在我的 macOS (Sierra) 上运行而无需扩展,就像它应该的那样。 chmod +x 当然是必要的。 This answer 详细解释了为什么这是正确的 shebang。

以上是关于节点和shebang:帮助通过命令行执行的主要内容,如果未能解决你的问题,请参考以下文章

使用#!/ usr / bin / env python3 shebang和Windows

在 Linux 和 BSD 中使用和不使用 shebang 执行 Bash 脚本

终端打印

Git 工具

Docker 命令行和后台參数

如何用命令行打开sql sever