引用标记为args for littler / docopt

时间:2015-11-21 14:34:10

标签: r bash docopt littler

我想将key="value"之类的字符串传递给更小的脚本。在bash中,我有argtest.sh

#!/bin/sh
echo $1

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

$ ./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

有人可以成为赢家吗?

1 个答案:

答案 0 :(得分:1)

我认为这需要成为docopt repo的问题门票。

我记得,珍妮曾经有过一个角落案例。 docopt的方法是如此彻底地使论证脱离,以至于你不能(轻易地)保护用作分界的空间。