我需要使用curl命令:
curl -d '{ "auth_token":"YOUR_AUTH_TOKEN","text":“嘿,看看我能做什么!”} [http://localhost:3030/widgets/welcome](http://localhost:3030/widgets/welcome)
在bash脚本中,而不是“嘿,看看我能做什么!”在之后的中,我需要一个变量$p。
这是我第一次尝试bash脚本并阅读引号之类的教程,但我仍然无法使它工作。
发布于 2015-10-22 20:57:35
最简单的方法是从这里的文档(一种动态创建的临时文件的类型)读取数据,而不是尝试将整个数据引用为字符串:
curl -d@- http://localhost:3030/widgets/welcome <<EOF
{ "auth_token": "YOUR_AUTH_TOKEN",
  "text": "$p" }
EOF如果-d的参数以@开头,则参数的其余部分将作为包含数据的文件的名称。-的文件名表示标准输入,curl的标准输入由EOF令牌之间的行提供。
另一种方法是双引号和转义所有嵌入的双引号.糟透了。
... -d "{\"auth_token\": \"YOUR_AUTH_TOKEN\", \"text\": \"$p\"}" ...https://stackoverflow.com/questions/33290506
复制相似问题