2017-12-08 8 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が解析できるもの、すなわちです:あなたは-1でヒット何

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

コーナーケースです。あなたは

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

または

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

実引数の解析のために行うことができますあなたは(私が好きで、たくさん使う) docoptのようなパッケージ、または(私の前に使用される) getoptまたは optparseをしたいです。すべてがCRANにあります。

+0

オハイオイ私は見ていますが、使用されたシェルに応じて適切に引用することについての文書では何を意味していますか?私はdocoptも見ていきます。ありがとう! :) – TomDT

+0

「適切な引用」は通常、引数そのものを指します。 –

関連する問題