Re: exit status issue

2011-11-22 Thread Steven W. Orr
On 11/22/2011 6:49 PM, Bob Proulx wrote: Dallas Clement wrote: This doesn't (yet) look like a problem with bash. Admittedly bash seems to do the right thing if you go by the set -x execution trace. If you go by that, it would indeed seem that the call to touch is failing. I have a higher le

Re: exit status issue

2011-11-22 Thread Dallas Clement
Bob, Yes I agree with everything you've said. I am grasping at straws, which I really don't like. It's very unlikely that the problems are with any of these things I've mentioned bash, Linux kernel, compiler, libc etc. This script is fairly large and it does lots of checking of block devices, r

Re: exit status issue

2011-11-22 Thread Bob Proulx
Dallas Clement wrote: > > This doesn't (yet) look like a problem with bash. > > Admittedly bash seems to do the right thing if you go by the set -x > execution trace. If you go by that, it would indeed seem that the > call to touch is failing. I have a higher level of trust in -x output since I

Re: exit status issue

2011-11-22 Thread Dallas Clement
>> + touch /mnt/array1/.accesstest >> + CHK_RESULT=1 > > It looks to me that touch is failing and reporting the failure and > that bash is handling it correctly. > >> + touch /mnt/array1/.accesstest >> + CHK_RESULT=0 > > And then on a subsequent pass touch is reporting success. > > This doesn't (ye

feature request: printf %(%s)T

2011-11-22 Thread Greg Wooledge
This is a feature request, rather than a bug. Bash 4.2's printf command has a lovely %(datefmt)T feature that allows it to print out formatted timestamps using the underlying operating system's strftime(3) routine. It even allows bash to print the current time, or the time the current shell was in

Re: exit status issue

2011-11-22 Thread Bob Proulx
Dallas Clement wrote: > Okay, I simplified the script slightly, fixed the quoting and re-ran > with set -x. Here is the script and the output for the failure > scenario. Much more useful! Thanks. > + touch /mnt/array1/.accesstest > + CHK_RESULT=1 It looks to me that touch is failing and report

Re: exit status issue

2011-11-22 Thread Greg Wooledge
On Tue, Nov 22, 2011 at 02:55:28PM -0600, Dallas Clement wrote: > fsaccesstest() > { > set -x > > local RETRY_MAX=3 > local RETRY_INTERVAL=3 > local CHK_RESULT=1 > local RETVAL=0 > > TMP=`grep "$1" /proc/mounts|awk '{print $1}'` > if [ "$TMP" != "" ]; the

Re: exit status issue

2011-11-22 Thread Dallas Clement
> That makes no sense.  Fix your quoting (it's atrocious) and then run > the function with "set -x".  Don't throw strace at it, at this point. > It's really not the right tool at this level of debugging. Okay, I simplified the script slightly, fixed the quoting and re-ran with set -x. Here is the

Re: help-b...@gnu.org mailing list

2011-11-22 Thread Bob Proulx
Clark J. Wang wrote: > > This list distributes, to the active maintainers of BASH (the Bourne > > Again SHell), bug reports and fixes for, and suggestions for > > improvements in BASH. User discussion of BASH also occurs here. > > My understanding is Chet wants "User discussion of BASH" to go

Re: exit status issue

2011-11-22 Thread Greg Wooledge
On Tue, Nov 22, 2011 at 11:31:22AM -0600, Dallas Clement wrote: > It turns out that my 'touch' command is actually getting executed, but > not when I expect it. Here is a recap of my script function which is > occasionally misbehaving: > > # $1 mntpoint > fsaccesstest() > { > local RETRY_MA

Re: exit status issue

2011-11-22 Thread Dallas Clement
It turns out that my 'touch' command is actually getting executed, but not when I expect it. Here is a recap of my script function which is occasionally misbehaving: # $1 mntpoint fsaccesstest() { local RETRY_MAX=3 local RETRY_INTERVAL=3 local CHK_RESULT=1 TMP=`gr