2011-08-11 99 views

回答

7

您可以使用:

#!/usr/bin/env coffee 

console.log 'hello coffeescript!' 

只要确保你也使文件可执行:

myfile.coffee 
1

你试过绝对路径吗? “糟糕的解释器”通常意味着最后有一个流氓换行符,例如你需要在其上运行dos2unix

+0

能流氓'\ r'真的扔骗它关了??我特别是在Mac上感到惊讶 - '\ r'曾经是在OSX IIRC之前结束的mac行... 我在其他* nixes之前没有看到过,但之后我很少使用windows,因此很少有dos行结局 – tobyodavies

+0

是的,它可以。当我从Cygwin(足够聪明地处理它)转移到更老的'bash'外壳时,总是会碰到我。它正在寻找(在我的情况下)“'/ usr/bin/perl \ r'” –

+0

你是对的,只是在我的Ubuntu盒子上测试过这个...如果你离开了,不喜欢那个'\ r'尾随空格的错误消息变得更加不透明 - 它试图运行一个名为'\ r'的文件,并且只是说“没有这样的文件或目录”,显然是一个空白的名字...... – tobyodavies

1

你需要一个绝对的:

chmod +x myfile.coffee 

然后你可以运行它路径(至少在Linux上,OSX可能不同)

,或者您可以通过使用env

#!/usr/bin/env coffee 
# **Your script here** 

看起来你已经确信你所做的可执行脚本,如果你得到这个错误

+0

由于某种原因,绝对路径不起作用,但'/ usr/bin/env'确实,谢谢 – Thilo