local
myfunc() { local i=0 .. }
In POSIX sh, you can adopt some convention to avoid accidentally overwriting variables names, e.g. prefixing with the function name:
myfunc() { _myfunc_i=0 .. }
local is supported in many shells, including bash, ksh, dash, and BusyBox ash. However, it is not specified by POSIX.
Since quite a lot of real world shells support this feature, you may decide to ignore the warning.
There was an error while loading. Please reload this page.