переменная в regex_findall в ansible - PullRequest
1 голос
/ 19 июня 2020
- name: Get names for all running Oracle databases from oratab file
  slurp:
    src: /etc/oratab
  register: oracle_patch_oratab

- name: Extract a list of DBs which mataches the Oracle Home
  set_fact:
    oracle_patch_dblist: "{{ oracle_patch_oratab['content'] | b64decode | regex_findall ('(.+v12201.+)', multiline=True, ignorecase=True) }}"

В regex_findall я жестко запрограммировал значение как v12201, и я хотел бы заменить его переменной. Если да, то какой синтаксис будет использоваться в regex_findall? Заранее спасибо.

1 Ответ

1 голос
/ 19 июня 2020

Я попробовал следующий метод, он работает нормально.

- name: Get names for all running Oracle databases from oratab file
  slurp:
    src: /etc/oratab
  register: oracle_patch_oratab      

- name: "assign pattern"
  set_fact: 
    ora_ver: "12201"

- name: Extract a list of DBs which mataches the Oracle Home
  set_fact:
    oracle_patch_dblist: "{{ oracle_patch_oratab['content'] | b64decode | regex_findall ('(.+' + ora_ver | string + '.+)', multiline=True, ignorecase=True) }}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...