W pliku konfiguracyjnym mam klucz, do którego chcę przypisać adres URL. Problem polega na tym, że YAML interpretuje: i - znaki jako tworzenie mapowań lub list, więc ma problem z linią
url: http://www.example-site.com/
(zarówno ze względu na dwukropek następujący po http, jak i łącznik na środku)
Czy istnieje wyraźny sposób na ucieczkę „:” i „-”? Czy może wystarczyłoby umieścić całość w pojedyncze cytaty i nazwać to dniem?
Odpowiedzi:
Cytaty:
Aby wyjaśnić, miałem na myśli „zacytować wartość” i początkowo myślałem, że cała rzecz jest wartością. Jeśli
http://www.example-site.com/
jest to wartość, wpisz ją w następujący sposób:źródło
- 'PS4="+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }"'
To, co również działa i jest jeszcze przyjemniejsze w przypadku długich, wielowierszowych tekstów, polega na umieszczeniu tekstu wciętego w następnym wierszu, po potoku lub znaku „więcej niż”:
Rura zachowuje nowe linie, znak GT zamienia wszystkie następujące linie w jeden długi ciąg.
źródło
>-
lub|-
, aby temu zapobiec.- >
ale przedmioty po pierwszym są ignorowane.- |
a następnie w nowym wierszu wciąłem tekst elementu listy, tak aby pierwszy znak zrównał się z potokiem. Mam nadzieję, że to pomoże, zadziałało dla mnie w pliku ustawień regionalnych Rails 4.2.Zgodnie ze specyfikacją YAML, ani
:
ani nie-
powinny stanowić problemu.:
jest tylko separatorem klawiszy ze spacją po nim i-
jest tylko wskaźnikiem tablicy na początku linii ze spacją po niej.Ale jeśli Twoja implementacja YAML ma z tym problem, potencjalnie masz wiele opcji:
Nie ma jednak wyraźnej formy ucieczki w „ prostym stylu ”.
źródło
Cytaty, ale wolę je na samej wartości:
Umieszczenie ich w poprzek całej linii wygląda na to, że może powodować problemy.
źródło
Innym sposobem, który działa z analizatorem składni YAML używanym w Jekyll:
Z drugiej strony dwukropki, po których nie występują spacje, nie przeszkadzają parserowi YAML Jekylla. Ani też myślniki.
źródło
Jeśli używasz
@ConfigurationProperties
z Spring Boot 2 do wstrzykiwania map kluczami zawierającymi dwukropki, potrzebujesz dodatkowego poziomu ucieczki za pomocą nawiasów kwadratowych w cudzysłowie, ponieważ wiosna pozwala tylko na znaki alfanumeryczne i „-”, usuwając resztę. Twój nowy klucz wyglądałby tak:Zobacz ten problem github w celach informacyjnych.
źródło
Przybyłem tutaj, próbując uruchomić moje zadanie wiersza polecenia platformy Azure DevOps. Rzeczą, która działała dla mnie, było użycie
|
znaku pipe ( ). Korzystanie>
nie działało.Przykład:
źródło
.gitlab-ci.yml
, ale dopóki nie potrzebowałem fajki „|” w skrypcie - po cichu zawodzi :(