【发布时间】:2019-11-04 14:54:44
【问题描述】:
我有一个 bash 脚本的参数,它可能是一个带空格的字符串。如何在字符串连接中使用它,如下所示:
#!/usr/bin/env bash
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"'$1'"}' https://hooks.slack.com/services/<rest of URL secret!>
如果我这样做,从 cmd 行:
$./myscript.sh oneword
它工作得很好。但是如果我传递一个带空格的字符串:
$./myscript.sh "two words"
curl: (3) [globbing] unmatched close brace/bracket in column 5
invalid_payload%
我尝试了各种引用来正确连接它,但无济于事。谢谢
【问题讨论】:
-
不要手动生成 JSON,除非(可能)你已经知道
$1是一个有效的 JSON 字符串。
标签: bash