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-2significa 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-2no funcionará.