El comodín no funciona en el comando de shell ansible

El comodín no funciona en el comando de shell ansible

El comando de shell no expande el comodín cuando se ejecuta el módulo ansible a través de powershell.

Si elimino el comodín y especifico el número de versión, funciona 'rabbitmq_server-3.9.3'.

¿Alguna sugerencia sobre cómo hacer que esto funcione con comodines?

Código Yaml:

  - name: Check if RabbitMQ is already installed
    shell: "\"/cygdrive/c/Program\ Files/RabbitMQ\ Server/rabbitmq_server-*/sbin/rabbitmq-service.bat\" status"
    ignore_errors: true
    register: RabbitMQ_install_status

Error:

'C:\cygwin\bin\bash.exe -c ansible-playbook test.yml':

TASK [Check if RabbitMQ is already installed] **************************************************************************fatal: [localhost]: FAILED! => {"changed": true, "cmd": "\"/cygdrive/c/Program Files/RabbitMQ Server/rabbitmq_server-*/sbin/rabbitmq-service.bat\" status", "delta": "0:00:00.042184", "end": "2021-08-16 13:43:52.066236", "msg": "non-zero return code", "rc": 127, "start": "2021-08-16 13:43:52.024052", "stderr": "/bin/sh: /cygdrive/c/Program Files/RabbitMQ Server/rabbitmq_server-*/sbin/rabbitmq-service.bat: No such file or directory", "stderr_lines": ["/bin/sh: /cygdrive/c/Program Files/RabbitMQ Server/rabbitmq_server-*/sbin/rabbitmq-service.bat: No such file or directory"], "stdout": "", "stdout_lines": []}
...ignoring

Respuesta1

El shell no expande el comodín porque lo ha puesto entre comillas. La expansión con comodines no se realiza entre comillas simples ni dobles.

\"/cygdrive/c/Program\ Files/RabbitMQ\ Server/rabbitmq_server-*/sbin/rabbitmq-service.bat\"

Presumiblemente has hecho esto para escapar de los espacios en el camino.

Intente citar sólo la parte de la ruta que debe citarse.

\"/cygdrive/c/Program\ Files/RabbitMQ\ Server\"/rabbitmq_server-*/sbin/rabbitmq-service.bat
##                                           ##

Respuesta2

necesitas.*

"/cygdrive/c/Program\ Files/RabbitMQ\ Server/rabbitmq_server-.*/sbin/rabbitmq-service.bat"

información relacionada