
Hi folks, I'm banging my head against how to properly pass a list of arguments in a variable through to a command in bash where the list of arguments itself has quoted values in it. Here's a test case script: $ cat odd-quoting.sh #!/bin/bash a='--debug --make-maker=--make-maker="INSTALLDIRS=vendor INSTALLMAN1DIR=none INSTALLMAN3DIR=none" --no-sign' echo cpan2rpm $a If I run that script with dash on Ubuntu it looks fine: $ sh -x odd-quoting.sh + a=--debug --make-maker=--make-maker="INSTALLDIRS=vendor INSTALLMAN1DIR=none INSTALLMAN3DIR=none" --no-sign + echo cpan2rpm --debug --make-maker=--make-maker="INSTALLDIRS=vendor INSTALLMAN1DIR=none INSTALLMAN3DIR=none" --no-sign [...] But if I run it with bash on either Ubuntu or my actual target, RHEL6, it gets it wrong: $ bash -x odd-quoting.sh + a='--debug --make-maker=--make-maker="INSTALLDIRS=vendor INSTALLMAN1DIR=none INSTALLMAN3DIR=none" --no-sign' + echo cpan2rpm --debug '--make-maker=--make-maker="INSTALLDIRS=vendor' INSTALLMAN1DIR=none 'INSTALLMAN3DIR=none"' --no-sign [...] I get the same problem if I run bash from its /bin/sh symlink on RHEL6. Any ideas what I'm missing here ? cheers, Chris -- Chris Samuel : http://www.csamuel.org/ : Melbourne, VIC