Рейтинг:-1

Ошибка простого сравнения Ansible при сравнении целых чисел

флаг lc

У меня есть следующее:

- set_fact:
   test_string: "{{ htmlres.content | regex_search('test-([0-9]+)', '\1') | первый}}"

Это извлекает 2 который является частью строки, содержащейся в htmlres.content контент, который тест-2.

Итак, теперь я пытаюсь сравнить результат этого вывода и завершить выполнение, если он не равен 2, поэтому я попробовал это:

- имя: Ошибка, если test_string не 2
  fail: msg="Неверная строка. Ожидалось 2, но вместо этого получено {{ test_string }}"
  когда: test_string != 2

Однако я вывел содержимое test_string и точно знаю, что это 2. Почему это не удается?

я пытался добавить | нить и | инт до конца тестовая_строка поскольку мой первый вопрос заключается в том, что это будет проблема со сравнением типов, но это тоже не сработало.

Спасибо.

Zeitounator avatar
флаг fr
Предоставьте отладочный вывод `test_string`.
флаг br
Также кажется, что необходим ``htmlres.content``. https://idownvotedbecau.se/nomcve/
Рейтинг:3
флаг th

Пока не jinja2_native включен, результатом шаблонирования всегда является строка. Это нужно учитывать при сравнении.

- имя: Ошибка, если test_string не 2
  fail: msg="Неверная строка. Ожидалось 2, но вместо этого получено {{ test_string }}"
  когда: тестовая_строка | интервал! = 2

или же

- имя: Ошибка, если test_string не 2
  fail: msg="Неверная строка. Ожидалось 2, но вместо этого получено {{ test_string }}"
  когда: test_string != '2'

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.