Re: [Exim] ${if eq ... } in pipe command

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: exim-users
Subject: Re: [Exim] ${if eq ... } in pipe command
On Fri, 1 Oct 1999, Peter Radcliffe wrote:

> Philip Hazel <ph10@???> probably said:
> > You need some internal quoting in there. Exim expands each individual
> > argument separately. Because you have (necessarily) got spaces in your
> > ${if item, you have to quote that argument. Try
> >
> >   command = "perl -T /usr/local/rt/bin/rtmux.pl \
> >                      rt-mailgate helpdesk \
> >                      \"${if eq {$local_part}{rt} {correspond}{action}}\""

>
> Weird, this is only applicable to 'command =' lines ?


Well yes, since those are the only ones that specify commands to be run,
and it is in that situation that Exim splits the line up into arguments
before doing expansions. The point of doing this is so that the result
of an expansion cannot change the number of arguments. Otherwise you run
the risk of screwing up the command when some rogue data arrives in a
message.

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.