我正在编写一个bash脚本来从命令行调用curl。遗憾的是我无法弄清楚如何将简单变量替换为curl请求的-d部分。
为什么这不起作用?
#!/bin/sh
name=$1
test -z $name && echo "Repo name required." 1>&2 && exit 1
curl -u 'metaraine' https://api.github.com/user/repos -d '{"name":"$name"}'
它实际上并没有将$ name的值替换为数据。
答案 0 :(得分:1)
这个怎么样?
curl -u 'metaraine' https://api.github.com/user/repos -d "{\"name\":\"$name\"}"
也就是说,转义引号并在{}
周围使用双引号而不是简单引号。