shell scripts and comand arguments
frank at esperance-linux.co.uk
Mon Jun 2 10:15:25 BST 2003
On Mon, Jun 02, 2003 at 09:07:32AM +0100, John Rochester wrote:
> On Sunday, Jun 1, 2003, at 14:53 Europe/London, Jonathan Belson wrote:
> >I was making some tweaks to a script I wrote to 'mhonarc' freebsd-*
> >mailing lists, when I ran into a problem with substitutions. Here's
> >an example:
> >title="$list archive"
> >args="-title \"$title\" -add . -outdir ."
> >mhonarc $args
> >$args expands to
> > -title "freebsd-ports archive" -add . -outdir .
> >which is what you'd expect, but mhonarc sees
> > -title "free-ports
> >followed by
> > archive"
> >which confuses it no end.
> >Is there a simple solution to this problem or must I do it another way?
> You need sh to pass this through another parsing stage to catch the
> Change the final line to
> eval mhonarc "$args"
> and it should work.
I've tested this the way Jonathan wrote it, the way I wrote it and the
way you've written it, but s/echo/mhonarc/
The way Jonathan wrote it, it seems to work, & the way I wrote it, it
seems to work:
-title "freebsd-ports archive" -add . -outdir .
but the way you wrote it gives me:
-title freebsd-ports archive -add . -outdir .
Could it be less to do with the shell & more to do with how mhonarc
itself handles commandline args? (Which is probably a perl thing,
having had a brief look at it's Makefile)
Tel: 01423 323019
PGP keyID: 0xC0B341A3
The Dow explodes with Baghdad!
I love it when a plan comes together!
- Seen on Slashdot
More information about the Ukfreebsd