即使存在同名的局部范围变量,我也可以引用全局变量吗?

Mic*_*ant 5 shell-script variable

如果我有一个变量 x

total=3
Run Code Online (Sandbox Code Playgroud)

然后是一个函数

function A () {
    local -i total=0
}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以total从函数内部更新“全局”总变量A

mik*_*erv 6

我想bash无论如何,您都可以使用declare-global 开关来强制全局作用域。喜欢:

total=5
fn(){ local -i total=0
      declare -g total=10
      echo "$total"
};fn
echo "$total"
Run Code Online (Sandbox Code Playgroud)

...打印...

0
10
Run Code Online (Sandbox Code Playgroud)