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 > 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. >