터미널에서 루비 스크립트를 실행하는 방법?


231

내 Mac (Ruby, Rails, Homebrew, Git 등)에 필요한 모든 것을 설정했으며 작은 프로그램도 작성했습니다. 이제 터미널에서 어떻게 실행합니까? Redcar에서 프로그램을 작성하여 .rb로 저장했지만 터미널을 통해 실행하는 방법을 모르겠습니다. 프로그램을 실행하고 실제로 작동하는지 확인하고 싶습니다. 어떻게해야합니까?


54
누가 당신의 첫 질문에 누가 투표했는지 모르겠지만, 가혹하다고 생각해서 다시 투표했습니다. 모든 것에 행운을 빕니다. 처음에는 혼란스러워 보이지만 오래지 않아 제 2의 천성이 될 것입니다. 그러면 다른 사람들을 도울 것입니다.
iain

11
2017 년으로 이어지는 OP는 이제 2,555 포인트와 100 개 이상의 배지를 보유하고 있습니다. :)
Daniel

답변:


245

그냥 전화하십시오 : ruby your_program.rb

또는

  • 로 프로그램을 시작하십시오 #!/usr/bin/env ruby.
  • 다음을 실행하여 파일을 실행 가능하게 만드십시오. chmod +x your_program.rb
  • 하고 ./your_program.rb some_param

1
루비 : 나는 루비 your_program.rb를 호출 할 때,이를 얻을 해당 파일이나 디렉토리 - testapp.rb (LoadError)
톰 맥스웰

1
@TomMaxwell 그가 말할 때 ruby your_program.rb, 당신은 'your_program.rb'를 당신의 프로그램의 이름이 무엇이든 대체해야합니다. 이 경우 오류 메시지에 따라으로되어있을 수 있습니다 ruby testapp.rb. @Robin은 정확하지만 Ruby 파일과 동일한 디렉토리에 있어야합니다.
Joshua Cheek

2
그가 한 것 같아요, 그렇지 않으면 오류 메시지가 testapp.rb에 관한 것이 아닙니다. 그러나 그의 다른 의견을 바탕으로, 그는 cd자신의 데스크탑 디렉토리 로 가는 방법을 알지 못 했으므로 그게 틀림 없습니다.
Robin

1
.rb 파일에 필요한 것이 있으면 어떻습니까?
Jacky

1
@Chris Page, 실제로 첫 번째 방법을 사용 하여이 문제가 발생했습니다. 제안한대로 모드를 변경했으며 작동했습니다! 정말 감사합니다!
nstein

36

터미널을 열고 파일이 저장된 폴더를 엽니 다.
전의/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

2
Class이어야한다 class(하부와 C ). 그렇지 않으면 작동하지 않습니다.
DanielH

24

루비 인터프리터가 PATH에 있다고 가정하면 간단하게 실행할 수 있습니다.

ruby your_file.rb

오류 메시지가 표시되어 설정 중에 문제가 발생한 것 같습니다. 어떻게합니까?
Tom Maxwell

루비 : 그런 파일이나 디렉토리가 없다-testapp.rb (LoadError)
Tom Maxwell

testapp.rb는 무엇입니까? 당신은 같은 디렉토리에 있습니까?
Sergio Tulentsev

내 경로에있는 루비 인터프리터에 대해 말한 것이 문제라고 생각합니다. 아마 뭔가를 제대로하지 않았을 것입니다. 모든 것을 준비하기 위해 많은 혼란을 겪었습니다.
Tom Maxwell

2
cd현재 디렉토리를 변경하는 터미널 명령입니다. 예를 들어, HOME_DIR에있는 "데스크탑"디렉토리로 이동하려면을 수행해야 cd ~/Desktop합니다.
Sergio Tulentsev

15

루비 파일을 호출하려면 다음을 사용하십시오. ruby your_program.rb

루비 파일을 스크립트로 실행하려면 :

  1. 로 프로그램을 시작하십시오 #!/usr/bin/env ruby

  2. 사용하여 해당 스크립트를 실행 ./your_program.rb param

  3. 이 스크립트를 실행할 수없는 경우 파일에 대한 권한을 확인하십시오.

일반적으로 스크립트를 실행하려면 실행 권한을 부여해야합니다. 그것이 주어지지 않으면 위의 명령으로 작동하지 않습니다. 권한을 확인한 후 동일한 명령을 사용하십시오.
Priti Biyani

4

ruby XXXXX.rb인터프리터가 $ PATH 변수에 있으면 터미널에서 호출 하십시오.

(이것은 달리기 전까지는 레일 일이 될 수 없습니다.)


2

이 질문에 대답하기에는 너무 늦었지만 여전히 나와 같은 문제의 해결책을 보려고 여기에 왔지만이 페이지에서 만족스러운 답변을 얻지 못한 사람들에게는 여전히 파일이 없기 때문입니다. 확장자는 .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 파일을 다시여십시오. 동일한 명령과 성공을 적용하십시오!


2

이전 답변에 대한 해결책을 얻지 못하는 사람들을 위해 단순히 파일 이름을 코드의 첫 번째 줄에 넣습니다.

그렇게

 #ruby_file_name_here.rb

 puts "hello world"

1

터미널 열기

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

또는 #!/usr/bin/env ruby프로그램의 첫 번째에 추가 하십시오 (스크립트는 Ruby 인터프리터를 사용하여 실행된다고 알려줍니다)

터미널 열기

cd to/the/program/location
chmod 777 program.rb
./program.rb

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.