Tengo un archivo delimitado por tabulaciones como este:
table_a "where id IN ($IDS)"
table_b "where fk_id IN ($IDS)"
table_c "where fk_id IN ($SOME_OTHER_IDS)"
Y estoy tratando de escribir un guión como:
IDS="1,2,3"
SOME_OTHER_IDS="4,5,6"
while read TABLE WHERECLAUSE
do
echo "$WHERECLAUSE"
mysqldump ... --where="$WHERECLAUSE"
done < 'myfile.txt'
El problema es que, por supuesto, $IDS
no se expande / interpreta cuando se lee desde el read
comando.
Parece que puedo hacer algo en el bucle como:
WHERECLAUSE=`eval echo "$WHERECLAUSE"`
¿Pero es inherentemente inseguro usar eval de esa manera?
¿Hay una mejor manera de reemplazar $IDS
que evite el uso eval
de una manera insegura? Preferiblemente estoy buscando una solución que sea compatible con OSX y Ubuntu.
¡Gracias!