#!/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
fuera fuera :
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
¿Es posible hacer que la variable dentro de anidado para el bucle sea local?
Sí, pero solo usando una función.
Como la
local
función integrada solo puede existir dentro de una función, debemos proporcionar una función para que la variablei
cambie el alcance de global a local:fuente
declare
locales{ }
no es suficiente. Sí, declare hace una var local dentro de una función .