В чем разница между выполнением
$ MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"
и
$ export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"
, и есть ли побочные эффекты при выполнении в соединении SSH?
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).
1-й устанавливает значение для переменной. Например, вы можете сделать
echo $MAVEN_OPTS
и заставить его вернуть значение, но если вы выдадите его вне вашей оболочки, вы получите пустую строку.
В приходит export
.
Экспорт - это инструкция для оболочки. Он говорит оболочке сделать эту переменную среды доступной для других программ. Без экспорта они доступны только внутри самой оболочки.
Если вы хотите, чтобы переменная была постоянно доступна, ssh читает ~/.ssh/environment
, ssh2
читает /etc/environment
и ~/.ssh2/environment
и добавляет строки формата VARNAME = значение в среду. Из справочной страницы ssh
.