`VAR = …`和`export VAR = …`有什么区别?

这样做有什么不同

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

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

在SSH连接中是否有任何副作用?

第一个将值设置为变量。 比如你可以做到

 echo $MAVEN_OPTS 

并让它返回值,但如果你要在shell外发出它,你将返回一个空字符串。

export

导出是对shell的指令。 它告诉shell使这个环境变量可用于其他程序。 没有导出,它们只能在shell本身中使用。

如果您希望变量永久可用,则ssh读取~/.ssh/environmentssh2读取/etc/environment~/.ssh2/environment ,并将VARNAME = value格式的行添加到环境中。 从ssh手册页 。

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

设置名为MAVEN_OPTS的shell变量。 接下来可能是export MAVEN_OPTS命令以使此变量可用作子程序的环境变量,或者使用它作为java $MAVEN_OPTS ...的shell命令java $MAVEN_OPTS ...

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

设置名为MAVEN_OPTS的环境变量。 此子环境变量也可用于子程序。

除了针对maven (构建系统iirc)调整了一些java内存限制之外,没有任何副作用。