Как выполнить скрипт 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
- Открытый терминал
cd /home/User1/program
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 как скрипт:
начать свою программу с
#!/usr/bin/env ruby
запустить этот скрипт, используя
./your_program.rb param
- Если вы не можете выполнить этот скрипт, проверьте разрешения для файла.
Просто вызвать 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