On 4/18/11 10:30 AM, Steven W. Orr wrote:
> I happen to be running
>
> GNU bash, version 4.0.35(1)-release (x86_64-redhat-linux-gnu)
>
> I create an integer variable and assign it either a 0 or a 1. The
> arithmetic test always returns success regardless of value. For example:
$ cat x20
unset ss; ss=0; ((ss)); echo $?
unset ss; ss=1; ((ss)); echo $?
unset ss; ss=0; ((! ss)); echo $?
unset ss; ss=1; ((! ss)); echo $?
unset ss; typeset -i ss; ss=0; ((ss)); echo $?
unset ss; typeset -i ss; ss=1; ((ss)); echo $?
unset ss; typeset -i ss; ss=0; ((! ss)); echo $?
unset ss; typeset -i ss; ss=1; ((! ss)); echo $?
unset ss; typeset -i ss=0; ((ss)); echo $?
unset ss; typeset -i ss=1; ((ss)); echo $?
unset ss; typeset -i ss=0; ((! ss)); echo $?
unset ss; typeset -i ss=1; ((! ss)); echo $?
$ ../bash-4.0-patched/bash ./x20
1
0
0
1
1
0
0
1
1
0
0
1
$ ../bash-4.1-patched/bash ./x20
1
0
0
1
1
0
0
1
1
0
0
1
$ ../bash-4.2-patched/bash ./x20
1
0
0
1
1
0
0
1
1
0
0
1
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/