[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tru64 losing files.

From: Toby White
Subject: Re: Tru64 losing files.
Date: Thu, 29 Jul 2004 13:34:52 +0100
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)

address@hidden writes:

>> Toby White <address@hidden> writes:
> So it looks like there's a buggy version of bash installed here. Hmm.
> I'll try and cut the failing script down to a meaningful size and
> report it to the sysadmin.

Hmm. I have cut the script down to a minimal size; it's shown below.

#! /bin/sh

trap 'exit_status=$?
  rm -rf confdefs* &&
    exit $exit_status
     ' 0

echo >confdefs.h

echo here1 `ls -l confdefs.h`
for ac_var in `(set) 2>&1; do
echo here2 `ls -l confdefs.h`

The second ls fails under bash-1.14.3 on the machine in question, though
it passes under /bin/sh, and under bash-2.05 (which is the version on 
all other machines I have access to).

Interestingly, removing the parentheses around set allows the second
ls to pass. So my hypothesis is that subshelling the set is triggering
the trap, and removing confdefs.h. 
Indeed, if I insert:
(echo here0) just before here1, then confdefs.h is removed earlier,
and the first ls also fails.

I don't know enough about shells and signals to know whether this is
reasonable behaviour.


Dr. Toby White, Dept. of Earth Sciences, Downing Street, Cambridge CB2 3EQ. UK
Email: <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]