Or you can turn off error checking for a specific command by doing:

set +e
command
set -e

Andy.

On 14 August 2012 17:45, Sami Tikka <sjti...@gmail.com> wrote:

> If you begin the build step with a line that starts with #!, Jenkins will
> assume you want to specify the interpreter instead of using /bin/sh -xe,
> which is the default. It is the -e switch of the shell which is responsible
> for aborting the script when a command exits with error.
>
> You could place "#!/bin/sh -x" on the first line (without the quotes). But
> remember to watch for errors yourself, then.
>
> -- Sami
>
> natalie_pub...@gmx.net kirjoitti 14.8.2012 kello 18.49:
>
> > Hi there,
> >
> > I'm using Jenkins to build a C++ project on Solaris 10.
> >
> > To set up the environment I'm calling various shell scripts, of which
> one contains the following code:
> > --
> > for P in /usr/contrib/bin /usr/local/bin
> > do
> >        cd $P > /dev/null 2>&1
> >        if [ $? -eq 0 ]
> >        then
> >                // XYZ
> >                echo $P
> >        fi
> > done
> > --
> >
> > The directory "/usr/contrib/bin" does not exist. This makes the return
> value in line 3 (cd $P > /dev/null 2>&1) negative and Jenkins stops the
> build because it appears to be "failed".
> >
> > In the job configuration, section "Build shell" it already says that the
> build is considered failed if one of the commands returns <> 0.
> >
> > This script has been used for compilation by many other projects for
> long time, so I don't really want to change it.
> >
> > Is there any workaround or solution to this behaviour (except to create
> this directory)?
> >
> > Regards,
> > Natalie
>

Reply via email to