Вы можете сказать, какую оболочку вы используете ps -o comm= -p $$
- я думаю, это более или менее универсально.Итак, в bash и некоторых подобных оболочках ...
Если вы хотите создать переменную для одного конкретного прогона, вы можете сделать
MYVAR=value the_command_that_needs_myvar
Если вы хотите создать ее для всегоСеанс оболочки (т.е. пока вы не выйдете из системы):
export MYVAR=value
... и затем вы можете выполнить:
the_command_that_needs_myvar
... столько раз, сколько вам нужно во время этого сеансаи он все равно будет видеть MYVAR
как имеющее значение value
.
Если вы хотите, чтобы он был установлен для вас, для всех ваших сеансов входа в систему, введите его в ~/.profile
.
Обратите внимание, что файлы инициализации bash могут быть одним большим WTF.В зависимости от того, запущен ли он в интерактивном режиме, по сети, локально, И в зависимости от того, вызывается ли он как sh
или bash
, он выборочно считывает некоторую комбинацию ~/.bashrc
, ~/.profile
и ~/.bash_profile
.Подробнее читайте в разделе ФАЙЛЫ справочной страницы bash
.
Если вы хотите, чтобы он был установлен для каждого пользователя, при каждом входе в систему, поместите его в файл /etc/profile
(хотя есть и /etc/environment
, я не уверен, насколько широко это используется.).
Проверьте вопрос «Как установить переменную окружения для всех в моей системе linux?» для получения более подробной информациитоже.
(Осторожно, некоторые из этих советов будут различаться в зависимости от того, используете ли вы или другие пользователи bash, dash, csh, ksh и т. д., но они должны работать в большинстве случаев использования.)