我对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%
我尝试了各种引用方式将其正确连接,但无济于事。谢谢
答案 0 :(得分:1)
您还需要在JSON有效负载中引用$1
:
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"'"$1"'"}' https://hooks.slack.com/services/<rest of URL secret!>