在 YAML 中转义冒号
Posted
技术标签:
【中文标题】在 YAML 中转义冒号【英文标题】:Escaping colons in YAML 【发布时间】:2013-01-30 03:51:06 【问题描述】:有人知道如何吗?我的 yml 中的关键是 带有端口号的域,但 yml 文件不适用于此设置:
###BEGIN
production:
### THIS IS THE ONE I'm HAVING TROUBLE WITH ###
8.11.32.120:8000: GoogleMapsKeyforThisDomain
exampledomain.com: GoogleMapsAPIKeyforThatDomain
development:
GoogleMapsAPIKeyforDevelopmentDomain
###END
我正在使用一个名为 YM4R 的谷歌地图插件,它使用 .yml 文件 根据我的应用所在的位置选择不同的 Google Maps API 密钥 正在托管...
所以,我正在尝试制作8.11.32.120:8000 the key
。知道怎么做
这? (如果你关心,它在 gmaps_api_key.yml 文件中)
【问题讨论】:
双引号是否按照this *** answer 工作? 带引号的作品,你是在告诉我这是逃避它的唯一方法吗? 那里有关于using double-quotes to escape colons in values 的信息,但是除了a Ruby Forum post where this same question was asked back in 2007 之外,我还没有看到任何与转义键中的冒号有关的信息,那里的建议也是双引号钥匙。所以,我猜你可以只用双引号,也可以用双引号,也可以同时用键和值。 我看到了那个帖子,只是想用其他方法来做。 【参考方案1】:您需要在遇到问题的键周围加上引号。即:
"8.11.32.120:8000": GoogleMapsKeyforThisDomain
【讨论】:
使用引号,我们不能用其他方式吗? 我还没有遇到任何其他的方法,抱歉。 我在 html 实体方面取得了成功(例如“:”) 只是出于好奇:为什么你想要另一种方式? 因为这不起作用:- sed -i "s/driver: .*/driver: pdo_$DB/" etc/config.yaml
【参考方案2】:
以另一种方式回答列表项的评论,例如:
- sed -i "s/driver: .*/driver: pdo_$DB/" etc/config.yaml
就是把它们写成:
- >-
sed -i "s/driver: .*/driver: pdo_$DB/" etc/config.yaml
或作为:
- 'sed -i "s/driver: .*/driver: pdo_$DB/" etc/config.yaml'
【讨论】:
以上是关于在 YAML 中转义冒号的主要内容,如果未能解决你的问题,请参考以下文章
Flutter/Dart Uri 没有在 URL 中转义冒号“:”
如何在 AWS CloudFormation YAML 模板中转义策略变量