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


11

这样做有什么区别

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

去做

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

并且在SSH连接中进行任何操作都有副作用吗?

Answers:


10

第一个将值设置为变量。例如你可以

echo $MAVEN_OPTS

并让它返回值,但是如果您在外壳程序外部发出该值,则会返回一个空字符串。

进来export

导出是对shell的指令。它告诉外壳程序使该环境变量可用于其他程序。如果没有导出,它们仅在Shell本身内可用。

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


但是,如果我在SSH连接和断开连接之间发出导出,则该变量将不可用于后续连接。我如何使其永久化?
Pomario '04 -4-30

当然,它不是:) @pomario添加在ssh和ssh2方法中,用于添加envs!
Rinzwind

不,等等!:)我的意思是,我使用SSH连接到服务器,我想添加一个Jenkins Web界面可以访问的环境变量。有什么办法可以做到这一点?
Pomario '04

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

设置名为的shell变量MAVEN_OPTS。可能紧跟着是export MAVEN_OPTS使该变量作为环境变量可用于子程序的命令,或者是使用它的shell命令,例如java $MAVEN_OPTS ...

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

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

除了调整了某些Java内存限制maven(构建系统iirc)外,没有任何副作用。


该死的Lekensteyn。那是今天的第四次。去做别的事情!>:D
Rinzwind

@Rinzwind在Freenode IRC上的#bumblebee中这样做:P
Lekensteyn

超过2个好的答案不是一件坏事:)
Tachyons 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.