On Fri, 06 Nov 2015, Andreas Henriksson wrote:

> Hi again.
> 
> On Fri, Nov 06, 2015 at 03:01:08PM +0100, Peter Palfrader wrote:
> [...]
> > But it should work.
> > 
> > An "exit 0" at the end, or a "if [ -d ... ]; then rmdir .. ; fi" would
> > also work instead and might be preferable.
> 
> Please stop suggesting exit 0. It does not work. Hopefully the attached
> minimal testcase will convince you of this. The final "exit 0" will
> simply never be reached. run: ./foo.sh && echo $?

It will.  This is why I suggest it.

| weasel@defiant:~$ cat ./tst.sh
| #!/bin/sh
| set -xe
| false && true
| exit 0
| weasel@defiant:~$ ./tst.sh 
| + false
| + exit 0
| weasel@defiant:~$


> (Try also replace 'false' with 'false && true' to more exactly simulate
> your particular bug case.)

Yeah.  Maybe you should try it.

> (... and even if it was reached, that would certainly throw away
> any exit code - not just the rmdir one.)

No it wouldn't.

| weasel@defiant:~$ cat ./tst2.sh
| #!/bin/sh
| set -xe
| true && false
| exit 0
| weasel@defiant:~$ ./tst2.sh
| + true
| + false
| e1:weasel@defiant:~$ 


-- 
                            |  .''`.       ** Debian **
      Peter Palfrader       | : :' :      The  universal
 https://www.palfrader.org/ | `. `'      Operating System
                            |   `-    https://www.debian.org/

Reply via email to