Hi, I'm trying to run a command when a file matching a regex does not exist.
My use case is I am unzipping an artifact - ec2-api-tools.zip This will unzip to a directory that includes the version number - e.g. ec2-api-tools-1.6.13.0 I want to check if there is a directory that matches the regex 'ec2-api-tools-*' and only run the unzip command if it doesn't exist. I don't want to tie the script to a particular version as it will change over time. This is the approach I took - - name: download ec2 command line tools command: chdir=~/tools wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip creates=ec2-api-tools.zip - name: Register if ec2 directory exists command: chdir=~/tools test -d ec2-api-tools-* ignore_errors: True register: ec2_tools_installed - name: unzip ec2-tools command: chdir=~/tools unzip ec2-api-tools.zip when: ec2_tools_installed.rc == 1 The problem is the 'test -d ec2-api-tools-*' always fails. The command passes fine if I run it from the machine itself. The script will work if I change the ec2-api-tools-* to match the exact version number. So what I'm wondering is - Why does the * in the 'test -d ec2-api-tools-*' command not work correctly? Is there a better way of accomplishing this that I'm just not seeing? I imagine it's a common enough use case. Thanks in advance, Michael -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/d08978c0-2ce4-4051-8daf-28d5f85596c9%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
