2017-12-08 11 views
1

일부 표현식을 실행하기 위해 rscript를 사용하고 있지만 대시가있는 경우에 문제가 있습니다. 간단한 예는 다음과 같습니다대시로 표현식에 rscript 사용

$ rscript -e '-1' 
ERROR: option '-e' requires a non-empty argument 

추가 괄호 밖으로 작동 (rscript -e (-1))하지만 난 항상 제대로 괄호됩니다 모르겠어요. documentation에서

그것은

은, -e 옵션

그래서 내가 bash는 다른 인용 규칙을 사용하여 시도에 사용되는 쉘에서 인용 규칙을 알고 있어야 사용하여 대시를 탈출 할 때 또는 말한다 작은 따옴표를 사용하지만 여전히 작동하지 않습니다.

$ rscript -e "\-1" 
Error: unexpected input in "\" 
Execution halted 

내가 빠진 것이 있습니까?

답변

1

여기서 한 부분을 잘못 이해하게됩니다.

$ R --slave -e '1+1' 
[1] 2 
$ 

-1 명중하는 코너 케이스입니다 : "식"R 구문 분석 할 수있는 무언가, 즉이다. 당신은

$ R --slave -e 'a <- -1; a' 
[1] -1 
$ 

또는

$ R --slave -e 'print(-1)' 
[1] -1 
$ 

실제 인수 구문 분석을 위해 할 수있는 당신이 (내가 좋아하고 많이 사용) docopt 등의 패키지, 또는 (내가 전에 사용) getopt 또는 optparse을 원하십니까. 모두 CRAN에 있습니다.

+0

오, 알았지 만 사용 된 셸에 따라 적절히 인용하는 문서의 내용은 무엇을 의미합니까? docopt를 살펴 보도록하겠습니다. 감사! :) – TomDT

+0

'적절한 따옴표'는 일반적으로 인수 자체를 말하며 때로는 문자열 등이 필요합니다. pp. –