在单引号内双引号内退出单引号

这个问题在这里已经有了答案:

  • 如何在单引号字符串中转义单引号? 19个答案

  • 一个简单的建议:如果有疑问并且没有特别的需求强迫你使用单引号和双引号,只需对引号进行规范化处理即可避免内部引用:

    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从标准输入读取数据。

    链接地址: http://www.djcxy.com/p/57129.html

    上一篇: Escape single quote within double quote within single quote

    下一篇: How to convert a string from uppercase to lowercase in Bash?