gnu.bash.bug
[Top] [All Lists]

Re: NOT changing global variables

Subject: Re: NOT changing global variables
From: Andreas Schwab
Date: Fri, 29 Dec 2006 18:56:21 +0100
Newsgroups: gnu.bash.bug
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
in $?.

Andreas.

-- 
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."



<Prev in Thread] Current Thread [Next in Thread>