在配置文件中,我有一个密钥,我想给它分配一个URL。问题是YAML将:and -字符解释为创建映射或列表,因此它在行上有问题
url: http://www.some-site.example/
(因为HTTP后面有冒号,中间有连字符)
是否有明确的方法来逃避:and -?或者干脆把整件事都放在单引号里然后就收工了?
在配置文件中,我有一个密钥,我想给它分配一个URL。问题是YAML将:and -字符解释为创建映射或列表,因此它在行上有问题
url: http://www.some-site.example/
(因为HTTP后面有冒号,中间有连字符)
是否有明确的方法来逃避:and -?或者干脆把整件事都放在单引号里然后就收工了?
当前回答
我来这里是为了让我的Azure DevOps命令行任务正常工作。对我有用的是使用pipe(|)字符。使用>不起作用。
例子:
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"
其他回答
如果您在Spring Boot 2中使用@ConfigurationProperties来注入包含冒号的键的映射,那么您需要在引号内使用方括号进行额外的转义,因为Spring只允许字母数字和“-”字符,将其余的字符剥离。你的新密钥看起来是这样的:
"[8.11.32.120:8000]": GoogleMapsKeyforThisDomain
参考这个github问题。
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
根据YAML规范,:和-都不是问题。:只是一个键分隔符,后面有一个空格,而-只是一行开头的数组指示符,后面有一个空格。
但是如果你的YAML实现有问题,你可能有很多选择:
- url: 'http://www.some-site.example/'
- url: "http://www.some-site.example/"
- url:
http://www.some-site.example/
- url: >-
http://www.some-site.example/
- url: |-
http://www.some-site.example/
然而,在“普通风格”中没有明确的转义形式。
我来这里是为了让我的Azure DevOps命令行任务正常工作。对我有用的是使用pipe(|)字符。使用>不起作用。
例子:
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"
对于长时间的多行文本,将文本缩进到下一行,在管道或大于号之后,这也是有效的,甚至更好的方法:
text: >
Op dit plein stond het hoofdkantoor van de NIROM: Nederlands Indische
Radio Omroep
管道保留换行符,gt符号将所有下面的行转换为一个长字符串。