【问题标题】:Quote marks in args for littler/docoptlittler/docopt 的 args 中的引号
【发布时间】:2015-11-21 23:21:55
【问题描述】:

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

#!/bin/sh
echo $1

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

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

但是我无法通过 littler/docopt 获得这样的参数。这是我的测试脚本:

#!/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

任何人都可以在这里成为赢家吗?

【问题讨论】:

    标签: r bash docopt littler


    【解决方案1】:

    我认为这希望成为docopt repo 的问题单。

    我记得,珍妮曾经也有一个角落案例。我认为 docopt 将参数分解得如此彻底,以至于您无法(轻松)保护原本用作分界的空间。

    【讨论】:

      猜你喜欢
      • 2021-04-24
      • 1970-01-01
      • 2014-04-08
      • 2011-03-13
      • 2011-11-19
      • 2021-09-12
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多