key="value"
少しスクリプトのように文字列を渡したい。bashには、次のものがありますargtest.sh
:
#!/bin/sh
echo $1
これを呼び出して、シェルからの引用符をバックスラッシュで保持すると、出力に表示されます。
$ ./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")
}
シェルの例のような単純なバッククォートは機能しません:
$ ./argtest.r -t x=\"1\"
[1] "x=1"
Loser
そして、私が試した他のすべても失敗します。お気に入り:
$ ./argtest.r -t 'x=\"1\"'
[1] "x=\\1\\"
Loser
ここで勝者になれる人はいますか?