differenceengine has asked for the wisdom of the Perl Monks concerning the following question:
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.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Backticks and shell brace expansion
by FunkyMonk (Bishop) on Jul 31, 2011 at 20:48 UTC | |
|
Re: Backticks and shell brace expansion
by JavaFan (Canon) on Jul 31, 2011 at 21:30 UTC | |
by differenceengine (Novice) on Aug 01, 2011 at 20:55 UTC | |
|
Re: Backticks and shell brace expansion
by anonymized user 468275 (Curate) on Jul 31, 2011 at 20:50 UTC |