Я хочу передать такие строки, как 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
Может ли кто-нибудь быть здесь победителем?