2011-04-05 3 views

답변

5

당신은 인수를 보낼 수 있습니다 : 예를 들면 : 당신이 레이크 명령 목록을 통과 할 수 있기 때문에 당신의 원래의 질문에 직접 대답하지 비록

export my_arg=foo 
rake install upgrade bar 

은 또한이 작업을 수행 할 수 이 같은 :

rake some_task arg1=value arg2=value 

그런 다음 레이크 작업 내에서 ENV에서 명명 된 매개 변수를 끌어 :

rake some_task -- --arg1=value --arg2=value 

그리고 OptionParser를 사용 (또는 다른 옵션을 파서) ARGV를 풀고 : 또한 전통적인 명령 행을 제공 할 수 있습니다

arg1 = ENV['arg1'] 
arg2 = ENV['arg2'] 

은 다음과 같이 전환됩니다. 스위치를 사용하려는 경우 rake에 스위치로 명령 줄 구문 분석을 중지하라는 내용의 추가 --을 잊지 마십시오.

+0

특정 작업을 실행해야합니까? 레이크를 실행할 때 어떤 작업도 지정하지 않고이 작업을 수행하려고합니다. 예 : rake - --arg1 = value –

+0

@Misha :'--' 옵션은 각 작업에 의해 처리되어야합니다. Rakefile을 통해 작업을 실행할 때'--' 다음에 오는 모든 것이'ARGV '에서 사용 가능해야합니다. 루비 코드를 사용하는 한'ARGV'와'ENV'에 접근 할 수 있어야합니다. –

1

이 인수는 환경 변수를 시뮬 레이팅하는 rake에 의해 ENV[]에 입력됩니다. 따라서 실제 환경 변수를 대신 사용할 수 있습니다.

rake my_arg=foo install upgrade bar 
+0

Rakefile에서'rake my_arg = foo upgrade upgrade bar'는 어떻게 작동합니까? –

관련 문제