414 Stimmen

Wie kann man Indikatorzeichen (Doppelpunkt und Bindestrich) in YAML umgehen?

In einer Konfigurationsdatei habe ich einen Schlüssel, dem ich eine URL zuweisen möchte. Das Problem ist, dass YAML den Schlüssel als : y - Zeichen entweder als Zuordnungen oder als Listen zu erstellen, daher hat es ein Problem mit der Zeile

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

(sowohl wegen des Doppelpunkts nach HTTP als auch wegen des Bindestrichs in der Mitte)

Gibt es eine explizite Möglichkeit zu entkommen : y - ? Oder reicht es, das Ganze in einfache Anführungszeichen zu setzen und das war's?

10voto

Ich bin hierher gekommen, um meine Azure DevOps Command Line Aufgabe zum Laufen zu bringen. Die Sache, die für mich funktionierte, war die Verwendung der Pipe ( | ) Zeichen. Verwendung von > hat nicht funktioniert.

Ejemplo:

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"

9voto

Andy Brown Punkte 10191

Wenn Sie Folgendes verwenden @ConfigurationProperties mit Spring Boot 2, um Maps mit Schlüsseln zu injizieren, die Doppelpunkte enthalten, dann benötigen Sie eine zusätzliche Ebene des Escapings mit eckigen Klammern innerhalb der Anführungszeichen, da Spring nur alphanumerische und '-'-Zeichen zulässt und den Rest ausblendet. Ihr neuer Schlüssel würde wie folgt aussehen:

"[8.11.32.120:8000]": GoogleMapsKeyforThisDomain

Voir cette github issue als Referenz.

7voto

Alex Cohn Punkte 53946

GitHub-Aktionen beschweren sich über

curl -L -H "Authorization: token ${{ secrets.TOKEN }}"  https://example.com/try.txt

aber es ist in Ordnung, wenn nach dem Doppelpunkt kein Leerzeichen steht, wie

curl -L -H "Authorization:token ${{ secrets.TOKEN }}"  https://example.com/try.txt

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X