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 >