procmail
[Top] [All Lists]

Re: Problem executing (the sequal)

1998-05-12 20:08:58
Rob Vandeweyer wrote:

On my system this works. It does work with my ISP when $DONE
contains only one address. When it is like this:

{ $DONE = "user(_at_)foo(_dot_)bar
user2(_at_)foo(_dot_)bar" }

the fgrep fails and the verbose logfile gives:

procmail: Executing "formail -xto -xcc          |fgrep -ive "$DONE""
Unmatched ".

  Here's a guess; I admit that I'm a part-time unix user at
work rather than a geek, but here goes.  It looks like your
shell is expanding the newline character properly, but your
ISP's shell is not.  Possible causes/solutions/workarounds
in order of increasing complexity...

  a) Check whether you're invoking the same shell variant on
your ISP's machine as on your own machine.  Do it explicitly
if necessary.

  b) Avoid the linefeed entirely...
{ $DONE = "user(_at_)foo(_dot_)bar user2(_at_)foo(_dot_)bar" }

  c) Screw around with some combination like...
{ $DONE = "user(_at_)foo(_dot_)bar\    # or
{ $DONE = "user(_at_)foo(_dot_)bar\n   # or
{ $DONE = "user(_at_)foo(_dot_)bar\\n
  ...to force your ISP's shell to expand it "properly".

-- 
Walter Dnes (Toronto)
<waltdnes(_at_)interlog(_dot_)com>

<Prev in Thread] Current Thread [Next in Thread>