在单引号内双引号内退出单引号
这个问题在这里已经有了答案:
一个简单的建议:如果有疑问并且没有特别的需求强迫你使用单引号和双引号,只需对引号进行规范化处理即可避免内部引用:
curl -X POST --data-urlencode "payload={"channel": "@somebody", "text": "I'm sending you a test message. Let me know if you get it."}" https://hooks.slack.com/services/XXX
它更干净,直观。
如果你想真的逃避双引号内的单引号:
curl -X POST --data-urlencode 'payload={"channel": "@somebody", "text": "I'''m sending you a test message. Let me know if you get it."}' https://hooks.slack.com/services/XXX
没有任何转义等你可以使用here-doc并将它传递给你的curl
命令:
cat<<-'EOF' | curl -X POST --data-urlencode @- https://hooks.slack.com/services/XXX
payload={"channel": "@somebody", "text": "I'm sending you a test message. Let me know if you get it."}
EOF
这里@-
将使curl
从标准输入读取数据。
上一篇: Escape single quote within double quote within single quote
下一篇: How to convert a string from uppercase to lowercase in Bash?