[-- Attachment #1: Type: text/plain, Size: 1072 bytes --]
Yes I know, also one can use local at global scope to have the same effect
as typeset -g there, this is a direct effect of how scopes are implemented.
sob., 18 lut 2023, 16:30 użytkownik Roman Perepelitsa <
roman.perepelitsa@gmail.com> napisał:
> On Sat, Feb 18, 2023 at 3:57 PM Sebastian Gniazdowski
> <sgniazdowski@gmail.com> wrote:
> >
> > Somewhere in the man I saw something like: if you use export you'll
> > always set in global scope, regardless of any local variable
> > collision.
>
> You might be confusing it with the fact that `typeset -x q` is
> equivalent to `typeset -gx q` and `export q` when used within a
> function, even though normally `typeset` within a function is
> equivalent to `local`.
>
> > Is there any way of achieving this?
>
> If there is a variable in function scope, there is no way to do
> anything with the identically-named variable in global scope.
>
> q=42
>
> () {
> local q;
> # Nothing you can do here will have any
> # effect on the global `q`.
> }
>
> Roman.
>
[-- Attachment #2: Type: text/html, Size: 1506 bytes --]