Ruby中的Hello World未输出到终端

时间:2018-07-22 09:32:17

标签: ruby bash windows-subsystem-for-linux

我正在将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。

2 个答案:

答案 0 :(得分:4)

问题不是红宝石,而是bash如何使用!'

您的代码很完美,请尝试简单地删除感叹号[:

这是因为您尝试内联运行它,因此.rb脚本应该没有任何问题!

答案 1 :(得分:0)

正如ingroxd所说!在bash中是特殊的,并且双引号不足以将其逐字传递给正在执行的命令。解决的办法是逃脱!分别在顶层:

$ ruby -e "puts 'Hello, world"\!"'"
Hello, world!