¿Cómo reemplazar el módulo de shell con el módulo de comando en Ansible?

¿Cómo reemplazar el módulo de shell con el módulo de comando en Ansible?

Necesito una pequeña ayuda.

En el siguiente ejemplo necesito reemplazarlo shellcon commandun módulo. Pero estoy confundido porque commandno estoy trabajando con tuberías.

Así que por favor dame la solución de esta tarea. P.ej:

- name: Get the version
  become: true
  run_once: true
  shell: zypper pa | grep eric-odl | awk -F {'print $4'}
  register: odl_version

¿Cómo dividiré esta tarea porque la salida de cada comando depende del siguiente comando?

Respuesta1

Necesito reemplazarlo shellcon commandun módulo.

Tal vez pueda proporcionar más información general sobre el por qué y lo que intenta lograr.

Actualmente supongo que según man zypperlo intentas

paquetes (pa) [opciones] [repositorio]...

Enumere todos los paquetes disponibles o todos los paquetes de repositorios especificados. Similar a zypper search -s -t package.

primero y me gustaría continuar con algo después.


Pero estoy confundido commandal no trabajar con tuberías.

Correcto, ese es el caso y el comportamiento previsto. ver en el ejemplo


Así que por favor dame la solución de esta tarea.

No habrá "esa solución", pero puede consultar la siguiente lista, desde los enfoques más preferibles hasta los menos preferibles:

O, al menos, quédese con shelllos comandos con canalizaciones (y el ejemplo dado tal como está actualmente)

información relacionada