Am 12.12.2009 15:25, schrieb DennisW:
On Dec 12, 4:24 am, Bernd Eggink<mono...@sudrala.de>  wrote:
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. Using 'local' outside a function is an error, so IMHO this
command is completely redundant. It _would_ make some sense, however, if
its counterpart 'global' existed, as it could help clarify the intended
usage of the variable.

Bernd

--
Bernd Egginkhttp://sudrala.de

$ vars () { var1=123; local var2=456; }
$ vars
$ echo "var1=$var1 "var2=$var2"
var1=123 var2=

How is that "the other way around"?

(Sorry, something went wrong with the last reply)

What I meant is that variables _declared_ in functions are always global.


--
Bernd Eggink
http://sudrala.de


Reply via email to