Auteur: Phil Pennock Date: À: Kyle Vorster CC: exim-users, Marc Haber Sujet: Re: [exim] Address_Pipe :: child process of address_pipe
transportreturned 1 from command
On 2008-02-02 at 10:49 +0200, Kyle Vorster wrote: > Thanks for your reply, When running the code in console I get no errors,
> "Exact script was running fine on another server" and the only thing
> that changed was exim.
>
> So thats the confusing bit.
"echo $?" after running the script, to see what the return value was.
Often, it's useful to put the return value of the previous command into
your prompt. In bash, just put the $? in as a literal, in zsh you can
use '%?', etc.
In Unix, a command which returns non-zero is indicating that it failed.
In fact, this is part of the C programming language standard and so even
more widespread than Unix.
Software which ignores errors leads to undiagnosed problems which are
hard to debug. So Exim carefully checks the return value from the
pipeline command. Some other software is not so careful.
If you're very sure that the command is good and want to stop Exim from
looking at the return value, then:
(a) On your head be it
(b) Add the "ignore_status" option to the pipe transport
Exim very rarely ever stops you from doing something, it just has very
sane defaults.