|
From: | Bernd Eggink |
Subject: | Re: add a way to declare global variables |
Date: | Sat, 12 Dec 2009 14:02:03 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.1.4pre) Gecko/20090915 Thunderbird/3.0b4 |
Am 12.12.2009 11:24, schrieb Bernd Eggink:
Am 12.12.2009 02:11, schrieb Matthew Woehlke:konsolebox wrote:I hope the development team will also consider adding a way in bash to declare global variables inside a function perhaps either with an option in typeset or declare like -g (same as zsh) and/or a builtin function like global as similar to local.I thought variables in functions were /always/ global unless declared local?It's the other way round. Regarding typeset and declare, the man page says: " When used in a function, makes each name local, as with the local command. " So within a function, typeset, declare, and local are synonyms.
To avoid misunderstandings, let me add that you are right (only) with respect to variables being used _without_ declaration. The problem is that associative arrays are the only kind of variables that _must_ be declared, since something like "a[foo]=bar" without a preceding declaration would create an indexed array (and set a[0] to "bar").
Bernd -- Bernd Eggink http://sudrala.de
[Prev in Thread] | Current Thread | [Next in Thread] |