Dans un fichier de configuration, j'ai une clé à laquelle je souhaite attribuer une URL. Le problème est que YAML interprète les caractères: et - comme créant des mappages ou des listes, il a donc un problème avec la ligne
url: http://www.example-site.com/
(à la fois à cause des deux points suivant http et du tiret au milieu)
Existe-t-il un moyen explicite d'échapper à «:» et «-»? Ou cela fonctionnerait-il de simplement mettre le tout entre guillemets simples et de l'appeler un jour?
Réponses:
Citations:
Pour clarifier, je voulais dire «citer la valeur» et pensais à l'origine que la chose entière était la valeur. Si
http://www.example-site.com/
est la valeur, citez-la comme suit:la source
- 'PS4="+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }"'
Ce qui fonctionne aussi et qui est encore plus agréable pour les textes longs et multilignes, c'est de mettre votre texte en retrait sur la ligne suivante, après un tuyau ou un signe supérieur à:
Un tube conserve les sauts de ligne, un signe gt transforme toutes les lignes suivantes en une longue chaîne.
la source
>-
ou|-
pour éviter cela.- >
mais les éléments après le premier sont ignorés.- |
puis sur une nouvelle ligne, j'ai indenté le texte de l'élément de liste de sorte que le premier caractère soit aligné avec le tuyau. J'espère que cela aide, cela a fonctionné pour moi dans un fichier de paramètres régionaux Rails 4.2.Selon la spécification YAML, ni le
:
ni le-
ne devraient être un problème.:
n'est qu'un séparateur de clés avec un espace après, et-
n'est qu'un indicateur de tableau au début d'une ligne avec un espace après.Mais si votre implémentation YAML a un problème, vous avez potentiellement beaucoup d'options:
Il n'y a cependant explicitement aucune forme d'échappatoire possible en " style simple ".
la source
Citations, mais je les préfère sur la juste valeur:
Les placer sur toute la ligne semble provoquer des problèmes.
la source
Une autre méthode qui fonctionne avec l'analyseur YAML utilisé dans Jekyll:
Les deux points non suivis d'espaces ne semblent pas déranger l'analyseur YAML de Jekyll, d'autre part. Les tirets non plus.
la source
Si vous utilisez
@ConfigurationProperties
avec Spring Boot 2 pour injecter des cartes avec des clés contenant des deux-points, vous avez besoin d'un niveau supplémentaire d'échappement en utilisant des crochets à l'intérieur des guillemets car Spring n'autorise que les caractères alphanumériques et `` - '', supprimant le reste. Votre nouvelle clé ressemblerait à ceci:Consultez ce numéro de github pour référence.
la source
Je suis venu ici pour essayer de faire fonctionner ma tâche de ligne de commande Azure DevOps. La chose qui a fonctionné pour moi était d'utiliser le caractère pipe (
|
). L'utilisation>
n'a pas fonctionné.Exemple:
la source
.gitlab-ci.yml
, mais jusqu'à ce que j'aie besoin d'une pipe '|' dans le script - il échoue silencieusement dessus :(