在配置文件中,我有一个密钥,我想给它分配一个URL。问题是YAML将:and -字符解释为创建映射或列表,因此它在行上有问题

url: http://www.some-site.example/

(因为HTTP后面有冒号,中间有连字符)

是否有明确的方法来逃避:and -?或者干脆把整件事都放在单引号里然后就收工了?


当前回答

引用,但我更喜欢他们的只是价值:

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符号将所有下面的行转换为一个长字符串。

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

引用,但我更喜欢他们的只是价值:

url: "http://www.some-site.example/"

把它们放在整条线上看起来可能会造成问题。

Jekyll中YAML解析器的另一种工作方式:

title: My Life: A Memoir

另一方面,冒号后面不跟空格似乎不会影响Jekyll的YAML解析器。破折号也不行。