In einer Konfigurationsdatei habe ich einen Schlüssel, dem ich eine URL zuweisen möchte. Das Problem ist, dass YAML: und - Zeichen so interpretiert, dass sie entweder Zuordnungen oder Listen erstellen, sodass ein Problem mit der Zeile vorliegt
url: http://www.example-site.com/
(sowohl wegen des Doppelpunkts nach http als auch wegen des Bindestrichs in der Mitte)
Gibt es einen expliziten Weg, um ':' und '-' zu entkommen? Oder würde es funktionieren, das Ganze einfach in einfache Anführungszeichen zu setzen und es einen Tag zu nennen?
Antworten:
Zitate:
Zur Verdeutlichung meinte ich „zitiere den Wert“ und dachte ursprünglich, das Ganze sei der Wert. Wenn
http://www.example-site.com/
der Wert ist, zitieren Sie ihn einfach so:quelle
- 'PS4="+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }"'
Was auch für lange, mehrzeilige Texte funktioniert und noch schöner ist, ist, Ihren Text nach einer Pipe oder einem Größer-als-Zeichen in die nächste Zeile einzurücken:
Eine Pipe bewahrt Zeilenumbrüche, ein GT-Zeichen verwandelt alle folgenden Zeilen in eine lange Zeichenfolge.
quelle
>-
oder|-
verwenden, um dies zu verhindern.- >
aber die Elemente nach dem ersten werden ignoriert.- |
folgt verwendet : In einer neuen Zeile habe ich den Text des Listenelements so eingerückt, dass das erste Zeichen mit der Pipe übereinstimmt. Ich hoffe das hilft, es hat bei mir in einer Rails 4.2 Locale Datei funktioniert.Gemäß der YAML-Spezifikation sollten weder das
:
noch das-
ein Problem sein.:
ist nur ein Schlüsseltrennzeichen mit einem Leerzeichen danach und-
nur ein Array-Indikator am Anfang einer Zeile mit einem Leerzeichen danach.Wenn Ihre YAML-Implementierung jedoch ein Problem damit hat, haben Sie möglicherweise viele Optionen:
Es ist jedoch ausdrücklich keine Form des Entkommens im " einfachen Stil " möglich .
quelle
Zitate, aber ich bevorzuge sie nur auf den Wert:
Wenn Sie sie über die gesamte Linie verteilen, kann dies zu Problemen führen.
quelle
Eine andere Möglichkeit, die mit dem in Jekyll verwendeten YAML-Parser funktioniert:
Doppelpunkte, denen keine Leerzeichen folgen, scheinen Jekylls YAML-Parser dagegen nicht zu stören. Striche auch nicht.
quelle
Wenn Sie
@ConfigurationProperties
mit Spring Boot 2 Karten mit Schlüsseln einfügen, die Doppelpunkte enthalten, benötigen Sie eine zusätzliche Escape-Ebene mit eckigen Klammern in den Anführungszeichen, da Spring nur alphanumerische Zeichen und '-' Zeichen zulässt und den Rest entfernt. Ihr neuer Schlüssel würde folgendermaßen aussehen:Weitere Informationen finden Sie in dieser Github-Ausgabe.
quelle
Ich bin hierher gekommen, um meine Azure DevOps-Befehlszeilenaufgabe zum Laufen zu bringen. Bei mir hat es funktioniert, dass ich das
|
Zeichen pipe ( ) verwendet habe. Die Verwendung>
hat nicht funktioniert.Beispiel:
quelle
.gitlab-ci.yml
, aber bis ich Pipe '|' brauchte im Skript - es schlägt lautlos fehl :(