У меня есть консольное приложение C#, которое я скомпилировал для Linux. Этому приложению требуется доступ к переменным среды. Я попытался настроить его с помощью EXPORT var1=value1 или установив его в /etc/environment. Я вижу, что эта переменная среды установлена правильно, когда я выполняю printenv > но когда мое приложение не может получить доступ к этой переменной. Может ли кто-нибудь подсказать, как сделать так, чтобы мое приложение имело доступ к переменным среды? Я запускаю его на RHEL 8 и в своем приложении получаю доступ к переменной среды, используя Environment.GetEnvironmentVariable
Вот код, демонстрирующий это: Создан готовый рабочий процесс, как показано ниже:
защищенное переопределение асинхронной задачи ExecuteAsync (CancellationToken StoppingToken) { в то время как (!stoppingToken.IsCancellationRequested) { var env = Environment.GetEnvironmentVariable("HOMEBREW_PREFIX"); Console.WriteLine($"В рабочем процессе: {env}"); _logger.LogInformation("Работник работает в: {time}", DateTimeOffset.Now); await Task.Delay(1000, StopToken); } } Вот частичный вывод из printenv, который показывает, что переменная среды с именем HOMEBREW_PREFIX установлена правильно.

Вот скриншот точки останова и моего окна просмотра:

Это на моем Mac, но, опять же, то же самое происходит и на моем компьютере с RHEL. Environment.GetEnvironmentVariable не может получить доступ к переменным среды
Мобильная версия