En un archivo de configuración, tengo una clave a la que deseo asignar una URL. El problema es que YAML interpreta: y - los caracteres como creación de asignaciones o listas, por lo que tiene un problema con la línea
url: http://www.example-site.com/
(tanto por el colon que sigue a http como por el guión en el medio)
¿Hay alguna forma explícita de escapar de ':' y '-'? ¿O funcionaría simplemente poner todo en comillas simples y llamarlo un día?
Respuestas:
Citas:
Para aclarar, quise decir "citar el valor" y originalmente pensé que todo era el valor. Si
http://www.example-site.com/
es el valor, solo cítelo así:fuente
- 'PS4="+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }"'
Lo que también funciona y es aún mejor para textos largos de varias líneas es colocar el texto sangrado en la siguiente línea, después de una tubería o un signo mayor que:
Una tubería conserva nuevas líneas, un signo gt convierte todas las líneas siguientes en una cadena larga.
fuente
>-
o|-
para evitar esto.- >
pero los elementos después del primero se ignoran.- |
y luego, en una nueva línea, sangré el texto del elemento de lista para que el primer carácter se alineara con la tubería. Espero que eso ayude, me funcionó en un archivo de configuración regional Rails 4.2.De acuerdo con las especificaciones de YAML, ni el
:
ni el-
deberían ser un problema.:
es solo un separador de teclas con un espacio después, y-
es solo un indicador de matriz al comienzo de una línea con un espacio después.Pero si su implementación de YAML tiene un problema, potencialmente tiene muchas opciones:
Sin embargo, no existe una forma explícita de escape en el " estilo simple ".
fuente
Citas, pero las prefiero solo por el valor:
Ponerlos en toda la línea parece que podría causar problemas.
fuente
Otra forma que funciona con el analizador YAML utilizado en Jekyll:
Los dos puntos no seguidos por espacios no parecen molestar al analizador YAML de Jekyll, por otro lado. Tampoco los guiones.
fuente
Si está usando
@ConfigurationProperties
Spring Boot 2 para inyectar mapas con teclas que contienen dos puntos, entonces necesita un nivel adicional de escape usando corchetes dentro de las comillas porque spring solo permite caracteres alfanuméricos y '-', eliminando el resto. Su nueva clave se vería así:Vea este tema de github para referencia.
fuente
Vine aquí tratando de hacer que mi tarea Azure DevOps Command Line funcione. Lo que funcionó para mí fue usar el carácter pipe (
|
). Usar>
no funcionó.Ejemplo:
fuente
.gitlab-ci.yml
, pero hasta que necesité tubería '|' en script - falla silenciosamente en él :(