330

構成ファイルには、URL を割り当てたいキーがあります。問題は、YAML が : および - 文字をマッピングまたはリストの作成として解釈するため、行に問題があることです。

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

(http の後のコロンと中間のハイフンの両方のため)

「:」と「-」を明示的にエスケープする方法はありますか? それとも、すべてを一重引用符で囲み、1 日と呼ぶだけでうまくいくでしょうか?

4

8 に答える 8

316

引用:

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

明確にするために、私は「価値を引用する」ことを意味し、最初はすべてが価値であると考えていました. が値の場合http://www.example-site.com/は、次のように引用します。

url: "http://www.example-site.com/"
于 2012-07-02T21:49:51.697 に答える
254

長い複数行のテキストでも機能し、さらに優れているのは、テキストを次の行のパイプまたは大なり記号の後にインデントすることです。

text: >
    Op dit plein stond het hoofdkantoor van de NIROM: Nederlands Indische 
    Radio Omroep

パイプは改行を保持し、gt 記号は後続のすべての行を 1 つの長い文字列に変換します。

于 2014-03-18T15:00:08.737 に答える
76

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/

ただし、「 plain style 」で可能なエスケープ形式は明示的にありません。

于 2015-10-15T12:51:26.257 に答える
6

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"
于 2019-07-04T12:12:42.803 に答える