r语言 - Quote marks in args for littler/docopt



我想把像key="value"这样的字符串传递给一个小脚本。在bash中,我有argtest.sh:

#!/bin/sh
echo $1

我可以调用它,通过反斜杠保留外壳中的引号,并在输出中看到它们:

$ ./argtest.sh x="1"
x="1"

然而,我无法通过littler/docopt获得这样的args。这是我的测试脚本:

#!/usr/bin/env r
doc <- "Usage: thing -t thing
-t --thing thing     some args
"
opt <- docopt::docopt(doc)
print(opt$thing)
target = 'x="1"'
if(opt$thing==target){
    message("Winner")
}else{
    message("Loser")
}

像shell示例中那样简单的反向引用不起作用:

$ ./argtest.r -t x="1"
[1] "x=1"
Loser

我尝试过的其他一切都失败了。类似:

$ ./argtest.r -t 'x="1"'
[1] "x=\1\"
Loser

这里有人能成为赢家吗?

我认为这想成为docopt repo的一个问题。

据我回忆,珍妮也曾经有过一个小箱子。我认为docopt对论点进行了彻底的分离,以至于你无法(轻易)保护用作划界的空间。