en el idioma
for i in $directories; do
# ...
done
... ¿la variable es $i
local o global?
¿Y qué pasa si hay una variable global con el mismo nombre? ¿Bash funciona con la variable global o con la del for ... in ...
encabezado?
Respuesta1
for
no introduce su propio alcance variable, al igual i
que lo que sea que esté al ingresar al for
ciclo. Esto podría ser global, olocal a cualquier función declarada como local, o inclusoglobal pero en una subcapa.
Al salir del for
bucle, la variable tendrá el último valor que tenía en el bucle, a menos que termine en un subshell. Cuánto afecta eso depende del alcance de la variable, por lo que es una buena idea declarar las variables de bucle como funciones internas locales (a menos que se desee el efecto secundario).