Как выполнить скрипт Ruby в терминале?

Я установил все, что мне нужно, на моем Mac (Ruby, Rails, Homebrew, Git и т. Д.), И я даже написал небольшую программу. Теперь, как мне выполнить это в Терминале? Я написал программу в Redcar и сохранил ее как.rb, но я не знаю, как выполнить ее через Терминал. Я хочу запустить программу и посмотреть, работает ли она на самом деле. Как мне это сделать?

10 ответов

Просто позвони: ruby your_program.rb

или же

  • начать свою программу с #!/usr/bin/env ruby,
  • сделайте ваш файл исполняемым, запустив chmod +x your_program.rb
  • и делать ./your_program.rb some_param

Откройте свой терминал и откройте папку, в которой сохранен файл.
бывший /home/User1/program/test.rb

  1. Открытый терминал
  2. cd /home/User1/program
  3. ruby test.rb

формат или test.rb

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

# initialize object
Test.new

выход

I love India

Предполагая, что интерпретатор ruby ​​находится в вашей переменной PATH (так и должно быть), вы просто запускаете

ruby your_file.rb

Для вызова файла ruby ​​используйте: ruby your_program.rb

Чтобы выполнить ваш файл ruby ​​как скрипт:

  1. начать свою программу с #!/usr/bin/env ruby

  2. запустить этот скрипт, используя ./your_program.rb param

  3. Если вы не можете выполнить этот скрипт, проверьте разрешения для файла.

Просто вызвать ruby XXXXX.rb в терминале, если интерпретатор находится в вашей переменной $PATH.

(это вряд ли может быть вещь рельсов, пока у вас это работает.)

Для тех, кто не находит решения для более старых ответов, я просто помещаю имя файла в качестве первой строки в моем коде.

вот так

 #ruby_file_name_here.rb

 puts "hello world"

Хотя уже слишком поздно отвечать на этот вопрос, но все же для тех парней, которые пришли сюда, чтобы увидеть решение той же проблемы, что и я, и не получили удовлетворительного ответа на этой странице, причина в том, что у вас нет файла в виде расширения.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. Примените тот же набор команд и успехов!

В случае, если кто-то пытается запустить скрипт в среде RAILS, rails предоставляют бегуна для выполнения скриптов в контексте rails через

rails runner my_script.rb

Подробнее здесь: https://guides.rubyonrails.org/command_line.html

Вы можете запустить рубиновый код, просто передав-eвариант

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

Вывод будет:

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

Открытый терминал

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

или добавить #!/usr/bin/env ruby в первой вашей программе (скрипт сообщает, что это выполняется с использованием Ruby Interpreter)

Открытый терминал

cd to/the/program/location
chmod 777 program.rb
./program.rb
Другие вопросы по тегам