[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NOT changing global variables
From: |
Andreas Schwab |
Subject: |
Re: NOT changing global variables |
Date: |
Fri, 29 Dec 2006 18:56:21 +0100 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.91 (gnu/linux) |
Frans de Boer <frans@fransdb.nl> 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@suse.de
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."