在配置文件中,我有一个希望为其分配 URL 的键。问题是 YAML 将 : 和 - 字符解释为创建映射或列表,因此该行存在问题
url: http://www.example-site.com/
(都是因为 http 后面的冒号和中间的连字符)
有没有明确的方法来逃避 ':' 和 '-' ?或者将整个内容放在单引号中并收工是否可行?
引号:
"url: http://www.example-site.com/"
为了澄清,我的意思是“引用价值”,最初认为整个事情就是价值。如果http://www.example-site.com/
是值,只需像这样引用它:
url: "http://www.example-site.com/"
对于长的多行文本来说,还有什么更有效,甚至更好的是,将您的文本缩进到下一行,在竖线或大于号之后:
text: >
Op dit plein stond het hoofdkantoor van de NIROM: Nederlands Indische
Radio Omroep
管道保留换行符,gt 符号将所有以下行变成一个长字符串。
根据 YAML 规范, the:
和 the-
都不是问题。:
只是一个键分隔符,后面有一个空格,并且-
只是一个数组指示符,位于行首,后面有一个空格。
但是如果你的 YAML 实现有问题,你可能有很多选择:
- url: 'http://www.example-site.com/'
- url: "http://www.example-site.com/"
- url:
http://www.example-site.com/
- url: >-
http://www.example-site.com/
- url: |-
http://www.example-site.com/
然而,在“ plain style ”中显然没有任何形式的转义。
引号,但我更喜欢它们的价值:
url: "http://www.example.com/"
将它们放在整条线上看起来可能会导致问题。
与 Jekyll 中使用的 YAML 解析器一起使用的另一种方法:
title: My Life: A Memoir
另一方面,不带空格的冒号似乎不会打扰 Jekyll 的 YAML 解析器。破折号也不行。
如果您使用@ConfigurationProperties
Spring Boot 2 来使用包含冒号的键注入映射,那么您需要在引号内使用方括号进行额外级别的转义,因为 spring 只允许字母数字和“-”字符,去除其余字符。您的新密钥将如下所示:
"[8.11.32.120:8000]": GoogleMapsKeyforThisDomain
请参阅此github 问题以供参考。
我来这里是为了让我的 Azure DevOps 命令行任务正常工作。对我有用的是使用管道 ( |
) 字符。使用>
无效。
例子:
steps:
- task: CmdLine@2
inputs:
script: |
echo "Selecting Mono version..."
/bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 5_18_1"
echo "Selecting Xcode version..."
/bin/bash -c "echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'/Applications/Xcode_10.2.1.app;sudo xcode-select --switch /Applications/Xcode_10.2.1.app/Contents/Developer"
GitHub 操作抱怨
curl -L -H "Authorization: token ${{ secrets.TOKEN }}" https://example.com/try.txt
但是冒号后没有空格也没关系,比如
curl -L -H "Authorization:token ${{ secrets.TOKEN }}" https://example.com/try.txt