On 10/16/15 9:18 PM, Linda Walsh wrote:
> Ok, thinking this from a different way.
>
> shopt -s implicit_vars_local
> or
> shopt -s localize_func_implicit_vars.... whatever...
>
> Right now, in a function, you *can* use local in a function
> to make a local var. Thing is, both 'declare' and 'typeset' also
> make a *local* var in a function, unless the "-g" switch is used.
>
> I.e. All standard, overt ways (local declare typeset) of creating
> a var in a function all result in it being local, BUT, (and I think this is
> an ugly wart), any *implicit vars* without local, or the misleading declare
> or typeset, become global.
All variables are created at the global scope unless explicitly designated
as local with local/declare/typeset. Simple and straightforward. (Dynamic
scoping does change that a little, as has been covered ad nauseum.)
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/