我正在将Linux子系统与Windows 10的Ubuntu发行版一起使用来解释Ruby代码。我创建了一个目录,其中包含一个名为puts "hello world"
的文本文件,并将其放在其中:
ruby hello.rb
我使用hello world
进行编译并运行,并希望将旧的问候语带到bash终端
ruby -e "puts 'Hello, world!'"
相反,我没有错误但也没有输出。我还应该补充一点:
-bash: !': event not found
导致错误:
ruby -help
我在这里做错了什么?我已经确认通过从bash键入{{1}}并已获得预期的输出来安装ruby。
答案 0 :(得分:4)
问题不是红宝石,而是bash如何使用!'
。
您的代码很完美,请尝试简单地删除感叹号[:
这是因为您尝试内联运行它,因此.rb
脚本应该没有任何问题!
答案 1 :(得分:0)
正如ingroxd所说!在bash中是特殊的,并且双引号不足以将其逐字传递给正在执行的命令。解决的办法是逃脱!分别在顶层:
$ ruby -e "puts 'Hello, world"\!"'"
Hello, world!