卷毛支架/支架有问题

时间:2019-02-04 13:49:27

标签: shell curl escaping quotes curly-braces

我正在尝试在.sh文件中执行以下行:

var zip = new JSZip();
            zip.file("Hello.txt", "Hello World\n");

            var img = zip.folder("images");
            img.file(images[0], imgData, {base64: true});

            zip.generateAsync({type:"blob"}).then(function(content) {
                // see FileSaver.js
                saveAs(content, "example.zip");
            });

它会给我类似

的错误
test2='{"admins":{"names":["superuser"],"roles":["admins", "test"]}}'
curl $url -X PUT -H 'content-type: application/json' -H 'accept: application/json' -d $test2

但是,当我运行没有这样的shell变量的命令时

curl: (3) [globbing] unmatched close brace/bracket in column 7

它工作正常。

这是怎么回事。很困惑。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

尝试此操作(转义双引号,并改用"$test2"

test2="{\"admins\":{\"names\":[\"superuser\"],\"roles\":[\"admins\", \"test\"]}}"
curl $url -X PUT -H 'content-type: application/json' -H 'accept: application/json' -d "$test2"