#!/bin/bash
for i in 1 2 3 4
do
# {
# local i ##gives error local: can only be used in a function
for i in 1 2 3
do
echo "inner loop ----- $i"
(( i++ ))
done
# }
echo $i
done
fora fora :
inner loop ----- 1
inner loop ----- 2
inner loop ----- 3
4
inner loop ----- 1
inner loop ----- 2
inner loop ----- 3
4
inner loop ----- 1
inner loop ----- 2
inner loop ----- 3
4
inner loop ----- 1
inner loop ----- 2
inner loop ----- 3
4
É possível tornar a variável aninhada dentro do loop local.
Sim, mas apenas usando uma função.
Como o builtin
local
só pode existir dentro de uma função, precisamos fornecer uma função para fazer com que a variáveli
mude o escopo de global para local:fonte
declare
também torna mais locais{ }
não é suficiente. Sim, declare torna um var local Dentro de uma função .