¿Cuál es la diferencia entre `VAR = ...` y `export VAR = ...`?

11

¿Cuál es la diferencia al hacer

$ MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"

a hacer

$ export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"

¿y hay algún efecto secundario de hacerlo en una conexión SSH?

Pomario
fuente

Respuestas:

10

El primero establece el valor de la variable. Por ejemplo puedes hacer

echo $MAVEN_OPTS

y que devuelva el valor, pero si emitiera eso fuera de su shell, se devolverá una cadena vacía.

En viene export.

Exportar es una instrucción para el shell. Le dice al shell que haga que esta variable de entorno esté disponible para otros programas. Sin la exportación, solo están disponibles dentro del propio shell.

Si desea que la variable esté disponible de forma permanente ssh lee ~/.ssh/environment, ssh2lee /etc/environmenty ~/.ssh2/environment, y añade líneas del formato VARIABLE = valor al entorno. De la sshpágina del manual .

Rinzwind
fuente
Sin embargo, si publico la exportación dentro de una conexión SSH y la desconexión, esa variable no estará disponible para conexiones posteriores. ¿Cómo lo hago permanente?
Pomario
¡Por supuesto que no :) @pomario agregado en los métodos ssh y ssh2 para agregar envs!
Rinzwind
¡No, espera! :) Lo que quiero decir es que me conecto al servidor usando SSH y quiero agregar una variable de entorno que sea accesible para la interfaz web de Jenkins. ¿Hay alguna manera de lograr esto?
Pomario
7
MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"

Establece una variable de shell llamada MAVEN_OPTS. Probablemente sea seguido por un export MAVEN_OPTScomando para hacer que esta variable esté disponible como variable de entorno para programas secundarios, o un comando de shell que la use comojava $MAVEN_OPTS ...

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"

Establece una variable de entorno llamada MAVEN_OPTS. Esta variable de entorno también está disponible para programas secundarios.

No hay efectos secundarios, excepto que algunos límites de memoria de Java están ajustados para maven(un sistema de compilación iirc).

Lekensteyn
fuente
maldita sea Lekensteyn. Esa es la cuarta vez hoy. ¡Ve a hacer otra cosa! >: D
Rinzwind
@Rinzwind Haciéndolo en #bumblebee en Freenode IRC: P
Lekensteyn
Más de 2 buenas respuestas no son malas :)
Tachyons