我正在使用rscript运行一些表达式,但我遇到了一些破折号的问题。一个简单的例子是:
$ rscript -e '-1'
ERROR: option '-e' requires a non-empty argument
添加括号可以解决问题(rscript -e (-1)
),但我并不总是确定它们会被正确括起来。
使用-e选项时,请注意所使用的shell中的引用规则
所以我尝试对bash使用不同的引用规则,转义破折号或使用单引号但它仍然无效。
$ rscript -e "\-1"
Error: unexpected input in "\"
Execution halted
我有什么遗失的吗?
答案 0 :(得分:1)
你在这里误解了一部分。 “表达”是R可以解析的东西,即:
$ R --slave -e '1+1'
[1] 2
$
您使用-1
点击的内容是一个极端情况。你可以做到
$ R --slave -e 'a <- -1; a'
[1] -1
$
或
$ R --slave -e 'print(-1)'
[1] -1
$
对于实际的参数解析,你想要一个像docopt
这样的包(我喜欢和使用很多),或getopt
(我之前使用过的)或optparse
。所有人都在CRAN上。