如何在终端中执行Ruby脚本?

我已经在我的Mac上设置了我需要的一切(Ruby, Rails, Homebrew, Git等),我甚至写了一个小程序。现在,我如何在终端中执行它?我在Redcar中编写了程序,并将其保存为.rb,但我不知道如何通过终端执行它。我想运行这个程序,看看它能不能工作。我怎么做呢?

408099 次浏览

只需调用:ruby your_program.rb

  • #!/usr/bin/env ruby开始你的程序,
  • 通过运行chmod +x your_program.rb使你的文件可执行
  • 并执行./your_program.rb some_param

只要在终端中调用ruby XXXXX.rb,如果解释器在$PATH变量中。

(这几乎不可能是一个rails的事情,直到你让它运行。)

假设ruby解释器在您的PATH中(它应该在),您只需运行

ruby your_file.rb

打开终端,打开文件所在的文件夹 前女友/home/User1/program/test.rb < br > < / p >

  1. 打开终端
  2. cd /home/User1/program
  3. ruby test.rb

Format或test.rb

class Test
def initialize
puts "I love India"
end
end


# initialize object
Test.new

输出

I love India

调用ruby文件使用:ruby your_program.rb

以脚本的形式执行ruby文件:

  1. #!/usr/bin/env ruby启动程序

  2. 使用./your_program.rb param运行该脚本

  3. 如果您无法执行此脚本,请检查文件的权限。

打开终端

cd to/the/program/location
ruby program.rb

或者在你的程序的第一个中添加#!/usr/bin/env ruby(脚本告诉你这是使用Ruby解释器执行的)

打开终端

cd to/the/program/location
chmod 777 program.rb
./program.rb
虽然现在回答这个问题已经太晚了,但是对于那些像我一样来这里看相同问题的解决方案,并且在这个页面上没有得到满意的答案的人来说,原因是你没有以.rb扩展名形式的文件。你很可能把它设置为简单文本模式。让我详细说明一下。 将整个解决方案绑定到页面上,在这里(假设您的文件名是abc。Rb或至少你创建了abc):

在终端窗口输入:

cd ~/to/the/program/location
ruby abc.rb

这样就做完了

如果出现以下错误

ruby: No such file or directory -- abc.rb (LoadError)
然后进入abc文件所在的目录,将其重命名为abc.rb 关闭gedit并重新打开文件abc.rb。应用相同的命令集并成功!< / p >

对于那些没有得到解决方案的旧答案,我只是把我的文件名作为第一行在我的代码。

像这样

 #ruby_file_name_here.rb


puts "hello world"
如果有人试图在RAILS环境中运行脚本, Rails提供了一个运行器,通过

在Rails上下文中执行脚本

rails runner my_script.rb

更多细节: https://guides.rubyonrails.org/command_line.html#rails-runner < / p >

你可以通过-e选项运行ruby代码

ruby -e 'x = Time.now; puts x;'

输出将是:

2022-06-22 15:55:06 +0500