Как я могу постоянно установить переменную среды пользователя - PATH, используя golang? - PullRequest
0 голосов
/ 08 октября 2019

Как я могу навсегда установить переменную среды пользователя - PATH, используя golang? Var, установленный функцией os.Setenv, действителен только в текущем процессе, спасибо.

1 Ответ

0 голосов
/ 08 октября 2019

Вы не можете. По крайней мере, не в практическом смысле. Да, вы могли бы написать программу (на Go, Java, Python или любом другом языке), которая изменила соответствующие файлы конфигурации, такие как ~ / .bashrc . Но это был бы довольно глупый способ решить эту проблему. Как и убийство комара с глупым уровнем дробовика.

Переменные окружения живут в адресном пространстве каждого процесса;то есть они являются частными для каждого процесса. Когда процесс запускает новый процесс, он либо дает новому процессу копию своих переменных среды, либо пользовательский набор переменных env. Этот новый процесс может изменять только свои env-переменные. Он не может изменять переменные env своего родительского процесса или любого другого процесса.

...