Как создать новую переменную среды в UNIX …?

Как создать новую переменную среды в Unix и использовать его в программе??????

8
задан skaffman 14 June 2010 в 07:33
поделиться

3 ответа

Вы можете определить, какую оболочку вы используете, с помощью 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 и т. Д.но он должен работать в большинстве случаев.)

12
ответ дан 5 December 2019 в 08:50
поделиться

См. Функции setenv (3) и getenv (3).

1
ответ дан 5 December 2019 в 08:50
поделиться

Зависит от оболочки. В bash вы можете использовать:

export myvar=xyz

, который установит переменную и сделает ее доступной для других программ.

Если вы хотите установить его для одного вызова программы, вы можете использовать:

myvar=xyz ./myprog

Это установит его для процесса myprog , но не после его выхода.

6
ответ дан 5 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

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