dan*_*ara 212 yaml escaping delimiter
在配置文件中,我有一个我希望分配URL的密钥.问题是YAML解释:和 - 字符作为创建映射或列表,所以它有一个问题的线
url: http://www.example-site.com/
Run Code Online (Sandbox Code Playgroud)
(因为http后跟冒号和中间的连字符)
是否有明确的方法来逃避':'和' - '?或者它是否可以将整个事物放在单引号中并称之为一天?
Ry-*_*Ry- 204
行情:
"url: http://www.example-site.com/"
Run Code Online (Sandbox Code Playgroud)
澄清一下,我的意思是"引用价值",最初认为整个事情就是价值.如果http://www.example-site.com/
是值,只需引用它:
url: "http://www.example-site.com/"
Run Code Online (Sandbox Code Playgroud)
Mic*_*ros 165
什么也有效,对于长的多行文本来说更好,就是将文本缩进到下一行,在管道或大于号之后:
text: >
Op dit plein stond het hoofdkantoor van de NIROM: Nederlands Indische
Radio Omroep
Run Code Online (Sandbox Code Playgroud)
管道保留换行符,gt符号将以下所有行转换为一个长字符串.
Ste*_*ett 41
根据YAML规范,既不是:
也不-
应该是问题.:
只是一个带有空格的关键分隔符,它-
只是一行后面的一个数组指示符,后面有一个空格.
但是如果你的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/
Run Code Online (Sandbox Code Playgroud)
然而,在" 普通风格 "中明确没有任何形式的逃避.
Gri*_*ave 30
行情,但我更喜欢它们的价值:
url: "http://www.example.com/"
Run Code Online (Sandbox Code Playgroud)
将它们放在整条线上看起来可能会导致问题.
pto*_*ato 20
另一种适用于Jekyll中使用的YAML解析器的方法:
title: My Life: A Memoir
Run Code Online (Sandbox Code Playgroud)
另一方面,没有空格的冒号似乎不会打扰Jekyll的YAML解析器.破折号也没有.
如果您使用@ConfigurationProperties
Spring Boot 2 来注入包含冒号的键的映射,那么您需要使用引号内的方括号进行额外的转义级别,因为 spring 只允许使用字母数字和 '-' 字符,去掉其余部分。您的新密钥将如下所示:
"[8.11.32.120:8000]": GoogleMapsKeyforThisDomain
Run Code Online (Sandbox Code Playgroud)
请参阅此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"
Run Code Online (Sandbox Code Playgroud)
GitHub 操作抱怨
curl -L -H "Authorization: token ${{ secrets.TOKEN }}" https://example.com/try.txt
Run Code Online (Sandbox Code Playgroud)
但当冒号后面没有空格时就可以了,比如
curl -L -H "Authorization:token ${{ secrets.TOKEN }}" https://example.com/try.txt
Run Code Online (Sandbox Code Playgroud)