我正在使用 R 的docopt实现。我的脚本有一个命令行选项,其缩写形式为-g
. 当我运行我的脚本时,似乎这个参数首先由 R 解释,然后由我的脚本解释。因此,我因未为 GUI 指定值而受到打击。我可以阻止 R 尝试使用这些命令行参数吗?
脚本示例:
#!/usr/bin/Rscript
suppressPackageStartupMessages(library(docopt))
"docopt practice script
Usage: foo.R [-g <goodies>]
Options:
-g <goodies>, --goodies=<goodies> Goodies
" -> doc
opts <- docopt(doc)
cat(sprintf("goodies = %s\n", opts$goodies))
这是我运行它时发生的情况:
Jennifers-MacBook-Pro-3:scripts jenny$ ./foo.R -g donuts
WARNING: --gui or -g without value ignored
goodies = donuts
如果您将选项的缩写形式从-g
to更改为-j
,WARNING
则消失……但我有充分的理由使用该字母g
!