`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/environment
, ssh2
读取/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内存限制之外,没有任何副作用。