Un script bash que contiene
for i in {a,b}-{1,2}; do
echo $i;
done
huellas dactilares
a-1
a-2
b-1
b-2
cuando se ejecuta Esto es lo que esperaba, ya que la {a,b}
construcción se expande.
Sin embargo, cuando (otro) script contiene
v={a,b}-{1,2}
echo $v
se imprime
{a,b}-{1,2}
que no es lo que esperaba Esperaba que se imprimiera a-1 a-2 b-1 b-2
. Obviamente, la {a,b}
construcción no se expande.
Puedo hacer que se expanda así
v=$(echo {a,b}-{1,2})
En base a estas observaciones tengo dos preguntas: 1) ¿cuándo se {a,b}
expande el constructo? 2) ¿es $(echo {a,b}-{1,2})
la forma preferida de desencadenar una expansión cuando sea necesario?
v=a-1 a-2
significa assign 'a-1' to variable v and run 'a-2'
v=(a-1 a-2)
asigna la matriz a la variable v
. v+=(b-1 b-2)
se le suma.
=
. Por ejemplo,v=a-1 a-2
no funcionará.