Hey there, I seek the wisdom of some monks!
Half a day spent trying to figure this out :-(, something i'm missing or don't understand properly for sure.
I want to use shell brace expansion in backticks to delete some files. Neater than doing rm a, rm b, rm c etc. The shell or Perl (not sure) always treats the { .. } literally. Anyone know how I can do this?
I've tried using qx'...', qx(...), `bash -c "..."`, and all sorts of escapes with backslashes, can't fathom it and unusually Google has not been my friend ;-)
$ touch perl.err $ touch perl.tst $ ls {perl.err,perl.tst} perl.err perl.tst $ perl -e '`rm {perl.err,perl.tst}`'; rm: cannot remove `{perl.err,perl.tst}': No such file or directory $ rm {perl.err,perl.tst} $
I'm developing for FreeBSD 8 Perl 5.10 using stock /bin/sh but I observe the same behaviour on Linux with bash. Cheers.
In reply to SOLVED Backticks and shell brace expansion by differenceengine
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |