【发布时间】:2011-08-11 02:23:42
【问题描述】:
我可以让 CoffeeScript 文件像 Perl 或 shell 脚本一样可执行吗?
类似添加的东西
#!coffee
在上面? (我试过了,我得到的只是“糟糕的解释器”)
如果有什么不同的话,我在 OS X 上。
【问题讨论】:
标签: macos shell coffeescript
我可以让 CoffeeScript 文件像 Perl 或 shell 脚本一样可执行吗?
类似添加的东西
#!coffee
在上面? (我试过了,我得到的只是“糟糕的解释器”)
如果有什么不同的话,我在 OS X 上。
【问题讨论】:
标签: macos shell coffeescript
你可以使用:
#!/usr/bin/env coffee
console.log 'hello coffeescript!'
只要确保你也使文件可执行:
chmod +x myfile.coffee
然后你可以运行它:
myfile.coffee
【讨论】:
你试过绝对路径吗? “糟糕的解释器”通常意味着末尾有一个流氓换行符,例如你需要在上面运行dos2unix。
【讨论】:
\r真的可以扔掉吗?我对 mac 感到特别惊讶 - \r 曾经是 OSX IIRC 之前的 mac 行结尾...我以前在其他 *nixes 上没见过这个,但后来我几乎不使用 windows,因此很少使用 dos 行结尾
bash shell 时,我一直都会发生这种情况。它正在寻找(在我的情况下)“/usr/bin/perl\r”
\r 如果你留下了尾随空格,错误消息变得更加不透明 - 它试图运行一个名为\r 的文件,只是说“没有这样的文件或目录”,名称明显为空......
你需要一个绝对路径(至少在 linux 上,OSX 可能不同)
或者你可以使用env作弊
#!/usr/bin/env coffee
# **Your script here**
如果您遇到该错误,您似乎已经确定您已使脚本可执行
【讨论】:
/usr/bin/env 可以,谢谢