Ver Mensaje Individual
  #10 (permalink)  
Antiguo 16/12/2010, 08:39
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sed con variables

En BASH no se pone espacio luego del = al asignar un valor a una variable, no hace lo que se supone que haga.
Al poner el espacio, en vez de
Código:
VARIABLE="valor"
estás haciendo esto:
Código:
VARIABLE="valor" comando
Que es una forma normal de ejecutar comando forzando a que, durante su ejecución, VARIABLE sea "valor" en vez de algún otro valor que ya tenga en el entorno, por ejemplo:
Código:
# A="a"
# miprograma <<< si necesita interactuar con el valor de A, recibirá "a"
# A="b" miprograma <<< si necesita interactuar con el valor de A, recibirá "b"
# <<< en este punto, A vuelve a valer "a", no se modifica el valor original
En este caso particular, el valor es vacío, y resulta
Código:
VARIABLE= comando
donde comando se forma como el resultado de la sustitución, y por eso intenta ejecutar data1.


Saludos.