Używam implementacji docopt dla R. Mój skrypt ma opcję wiersza polecenia, gdzie krótki formularz jest -g
. Kiedy uruchamiam mój skrypt, wydaje się, że ten argument jest najpierw interpretowany przez R, a następnie przez mój skrypt. Dlatego otrzymuję uderzenie nadgarstka o nieprzeznaczanie wartości dla GUI. Czy mogę zapobiec R od próby pracy z tymi argumentami wiersza poleceń?Jak zapobiec interpretowaniu argumentów linii poleceń przez R, a tylko przez mój skrypt?
Przykład skryptu:
#!/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))
Oto co się dzieje, gdy uruchomię go:
Jennifers-MacBook-Pro-3:scripts jenny$ ./foo.R -g donuts
WARNING: --gui or -g without value ignored
goodies = donuts
Jeżeli zmienisz krótki formularz opcji z -g
do -j
The WARNING
odchodzi ... ale mam dobry powód do używania listu g
!
Jeśli trzymać się tylko przy użyciu '' --goodies bez krótkiej formie zjedzony przez R, obejdziesz go. –
'-G' powinno działać też ... – krlmlr