В чем разница между `VAR = & hellip;` и `export VAR = & hellip;`?

В чем разница между выполнением

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

и

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

, и есть ли побочные эффекты при выполнении в соединении SSH?

11
задан 30 January 2014 в 13:07

2 ответа

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

Устанавливает переменную оболочки с именем MAVEN_OPTS. Вероятно, за ним следует команда export MAVEN_OPTS, чтобы сделать эту переменную доступной в качестве переменной окружения для дочерних программ, или команда оболочки, которая использует ее, например java $MAVEN_OPTS ...

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

Устанавливает переменную среды с именем MAVEN_OPTS , Эта переменная окружения также доступна для дочерних программ.

Нет побочных эффектов, за исключением того, что некоторые ограничения памяти Java настроены для maven (система сборки iirc).

0
ответ дан 30 January 2014 в 13:07

1-й устанавливает значение для переменной. Например, вы можете сделать

echo $MAVEN_OPTS

и заставить его вернуть значение, но если вы выдадите его вне вашей оболочки, вы получите пустую строку.

В приходит export.

Экспорт - это инструкция для оболочки. Он говорит оболочке сделать эту переменную среды доступной для других программ. Без экспорта они доступны только внутри самой оболочки.

Если вы хотите, чтобы переменная была постоянно доступна, ssh читает ~/.ssh/environment, ssh2 читает /etc/environment и ~/.ssh2/environment и добавляет строки формата VARNAME = значение в среду. Из справочной страницы ssh .

0
ответ дан 30 January 2014 в 13:07

Другие вопросы по тегам:

Похожие вопросы: