Frans de Boer <frans@xxxxxxxxxx> writes:
> Okay, the function tries to alter the global var1 integer. But, the
> result is that var1 is NOT changed.
Yes, because the function is executed in a subshell.
> So, the result of the first echo
> will be 0
> However, the next echo displays the changed var1 as being 1. At the
> expense of losing the return value.
You are not using the return value of the function but its output. The
return value of a function is the exit status of the last executed
command, and can also be set with return. The return value is available
Andreas Schwab, SuSE Labs, schwab@xxxxxxx
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."