I would like to 'exec' an installation script 'onlyif' an installation directory is empty. I tried using following bash one-liner however it didn't work: <code> exec{$one_install_script: require => File[$one_install_script], onlyif => "[ \"$(/bin/ls -A $one_location)\" ] && exit 1 || exit 0" }
</code> It failed with following error: <error> err: Failed to apply catalog: Parameter onlyif failed: '[ "$(/bin/ls - A /srv/cloud/one)" ] && exit 1 || exit 0' is not qualified and no path was specified. Please qualify the command or specify a path. </error> A bash script with above one-liner worked fine though. <code> exec{$one_install_script: require => File[$one_install_script], onlyif => "/tmp/is-dir-empty.sh $one_location" </code> The bash script approach works fine for me. However I am not sure what is wrong with the one-liner command. Is $(cmd) command substitution or built-in function 'exit' a problem? Any pointers will be really helpful. -- Thanks, Shantanu -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.