Posso me referir a uma variável global mesmo que exista um escopo local com o mesmo nome?

4

Se eu tiver uma variável x

total=3

e depois uma função

function A () {
    local -i total=0
}

Existe alguma maneira de atualizar a variável total 'global' total da função A ?

    
por Michael Durrant 01.03.2015 / 14:47

1 resposta

6

Acho que, em bash , você pode usar declare e a opção -g lobal para forçar o escopo global. Como:

total=5
fn(){ local -i total=0
      declare -g total=10
      echo "$total"
};fn
echo "$total"

... que imprime ...

0
10
    
por 01.03.2015 / 15:01