Как выполнить скрипт Ruby в Терминале? - PullRequest
207 голосов
/ 04 января 2012

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

Ответы [ 9 ]

222 голосов
/ 04 января 2012

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

или

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

Откройте терминал и откройте папку, в которой сохранен файл.
Пример /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
21 голосов
/ 04 января 2012

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

ruby your_file.rb
13 голосов
/ 22 октября 2013

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

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

  1. запустите вашу программу с #!/usr/bin/env ruby

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

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

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

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

2 голосов
/ 06 сентября 2015

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

примерно так

 #ruby_file_name_here.rb

 puts "hello world"
2 голосов
/ 22 мая 2014

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

1 голос
/ 13 марта 2019

В случае, если кто-то пытается запустить сценарий в среде RAILS , рельсы предоставляют исполнителю возможность выполнять сценарии в контексте rails с помощью

rails runner my_script.rb

ПодробнееПодробности здесь: https://guides.rubyonrails.org/command_line.html#rails-runner

1 голос
/ 02 марта 2014

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

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...