在Yaml中转义包含引号和撇号的cURL命令
发布时间:2020-12-14 01:47:53 所属栏目:Linux 来源:网络整理
导读:我有这个cURL命令: curl -X POST --data-urlencode 'payload={"text": "A new version has been deployed to production."}' https://hooks.slack.com/services/XXXXXXX/XXXXXXXXX/XXXXXXXXXXXXX 我需要在具有Yaml支持的GitLab CI文件中使用它. Yaml解析器
我有这个cURL命令:
curl -X POST --data-urlencode 'payload={"text": "A new version has been deployed to production."}' https://hooks.slack.com/services/XXXXXXX/XXXXXXXXX/XXXXXXXXXXXXX 我需要在具有Yaml支持的GitLab CI文件中使用它. 这就是命令现在的样子. 如何正确地逃避序列? deploy: stage: deploy script: - "curl -X POST --data-urlencode 'payload={"text": "A new version has been deployed to production."}' https://hooks.slack.com/services/XXXXXXX/XXXXXXXXX/XXXXXXXXXXXXX" 解决方法
最简单的方法是使用块标量:
deploy: stage: deploy script: |- curl -X POST --data-urlencode 'payload={"text": "A new version has been deployed to production."}' https://hooks.slack.com/services/XXXXXXX/XXXXXXXXX/XXXXXXXXXXXXX |启动一个文字块标量,– 告诉YAML丢弃尾随换行符(否则它将成为标量的一部分).为了便于阅读,您可以使用折叠块标量(换行符将转换为空格): deploy: stage: deploy script: >- curl -X POST --data-urlencode 'payload={"text": "A new version has been deployed to production."}' https://hooks.slack.com/services/XXXXXXX/XXXXXXXXX/XXXXXXXXXXXXX 最后,也可以使用双引号,只要你在标量内转义双引号(换行符也会折叠成空格): deploy: stage: deploy script: "curl -X POST --data-urlencode 'payload={"text": "A new version has been deployed to production."}' https://hooks.slack.com/services/XXXXXXX/XXXXXXXXX/XXXXXXXXXXXXX" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |