2012-10-28 59 views
3

我正在执行一些命令行处理,我在this blog post中学到了这个文件,例如systemIO.popen,并且出现错误。`(反引号)是意外的令牌

为什么反引号出现,这是什么意思?我该如何继续?请解释。

system('./err.rb') 
-bash: syntax error near unexpected token `'./err.rb'' 

相若方式,当我运行IO.popen

output = IO.popen('./err.rb') 
-bash: syntax error near unexpected token `(' 
+0

请张贴最少的代码片段表现出的问题。 – philant

+1

Bash正试图直接解释你的ruby脚本。你在第一行中放了什么? – Mat

+0

@ user1647484只是为了确保你不采取'popen'类似于像'system'和'backtick'命令确保您throughly阅读有关红宝石DOC它咬从'system'和'backtick'不同popen方法。尽管您的popen调用与它无关 – Viren

回答

7

那不是红宝石你输入的东西进去,这是你的shell是bash。假设你已经正确安装了ruby,输入irb以获得一个ruby提示符,你应该可以从那里继续。

2

无论是在红宝石或bash,`...'是在象错误消息的地方用于引用代码的问题部分的元表达。例如,在您的错误消息:unexpected token `('中,有问题的部分是(。 Backtick本身与错误无关。