在单引号内转义双引号内的单引号[重复]

2024-03-31

我正在发出一个理想情况下如下所示的curl命令(请注意,由于缺乏转义,这是不正确的):

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

I'm 一词中的单引号导致此操作失败。但是,我不确定如何转义这个引号,因为有多个级别的嵌套引号。

第二个问题,如果文本字符串中有双引号怎么办?那些人怎么可能逃脱呢?

我读过有关逃脱的内容并查看了其他 SO 帖子(包括如何转义单引号字符串中的单引号? https://stackoverflow.com/questions/1250079/how-to-escape-single-quotes-within-single-quoted-strings),但我似乎无法找到任何可行的解决方案。链接的帖子讨论了单引号中的单引号,并通过使用双引号解决了该问题。但是,我的单引号已经在双引号中了。所以这个就比较复杂了。

非常感谢你的帮助。


一个简单的建议:当有疑问并且没有特殊需要迫使您同时使用单引号和双引号时,只需标准化引号并转义内部引号即可:

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在单引号内转义双引号内的单引号[重复] 的相关文章

随机推荐