Hi,
I had some irritation with a "while"- loop, which turned out to be endless.
Anyway, i was able to find the problem and reduce it to be shown on the commandline:
I "typeset" (and initialize) an array and an integer variable:
$ typeset -a arr; arr=(bourne again shell)
$ typeset -i ind=0
Everything works as expected when doing:
$ echo ${arr[((ind++))]}
bourne
$ echo ${arr[((ind++))]}
again
$ echo ${arr[((ind++))]}
shell
But when i use the "echo" command in a pipe, (like:)
$ typeset -i ind=0
$ echo ${arr[((ind++))]} | grep e
bourne
the postincrement of "ind" is not evaluated, so the next time i also get:
$ echo ${arr[((ind++))]} | grep e
bourne
$ echo ${arr[((ind++))]} | grep e
bourne
Well, this is not really a problem for i can do it in two lines, but i wonder, if it's possible to make it work in one line.
Anywone who can give a comment?
Thanks for reading and trying to help!
Bye,
Christoph