Я понимаю, что этот тип вопроса спросили
Помогите мне понять .profile, .bashrc, и т.д.
Последовательность сценариев получена после входа в систему
Но мне нелегко понимать это.
У меня есть установка машины Ubuntu, таким образом, она соединяется с Jenkins как ведомое устройство. На этой машине я отредактировал/etc/bash.bashrc и экспортировал ПУТЬ с дополнительными инструментами.
Когда я выполняю терминал (от GUI) и выполняюсь
echo $PATH
Я вижу дополнительные значения на ПУТИ.
Когда я запускаю sh скрипт (от GUI), который выполняется
echo $PATH
дополнительные значения отсутствуют.
Если тот же сценарий выполняется с помощью "Приложений Запуска" дополнительные значения, также отсутствуют в ПУТИ.
Так как я соединяюсь с Jenkins, использующим этот подход, это - проблема для меня. т.е. Это означает мой сбой заданий сборки.
Единственная 'фиксация', которую я нашел, должна добавить значения к/etc/environment. При размещении сюда дополнительные записи на ПУТИ появляются в обоих сценариях.
Но... только после того, как пользователь входит в/перезапускает. Который не идеален.
Как я могу настроить машину, таким образом, дополнительные записи, добавляют к пути для всех сценариев?
К вашему сведению: я использую Шеф-повара для конфигурирования машины, таким образом, она должна будет установить эти переменные.
Установка переменных среды через /etc/bash.bashrc
не делает их доступными в графической среде. Я предложил бы, чтобы Вы вместо этого создали файл /etc/profile.d/myvars.sh
и установили переменные оттуда. Файлы в /etc/profile.d
папка с .sh
расширение получено менеджером по оформлению, и с этим сделал доступным на целой сессии, включая графическую среду.
Ссылка: EnvironmentVariables