Самый быстрый и самый чистый способ обновить переменную среды для новых экземпляров Bash?

Я пытаюсь создать / обновляют переменную среды для каждого удара экземпляры.

В основном я хотел бы результат export MSBuildSDKsPath=/opt/dotnet/sdk/$(dotnet --version)/Sdks быть применимым к каждому экземпляру удара.

Единственное решение, которое я нашел, немного грязно, должен поместить его в конце .bashrc файл в моей домашней папке, но я не уверен, что это - правильный способ сделать.

Я читал в других местах, в которые иногда это должно быть вставлено .profile или .bash_profile но если те файлы изменяются в рамках того же сеанса пользователя, и затем я запускаю новый экземпляр удара, $MSBuildSDKsPath не обновляется соответственно.

0
задан 5 February 2019 в 02:30

1 ответ

Следующий комментарий существует в ~/.profile файл по умолчанию:

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

Вот почему это не была работа для Вас.

Кроме того, .profile содержите следующий код по умолчанию

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

Этот код вызывает Ваш ~/.bashrc если это существует.

В Ваших целях, добавляя переменный экспорт в конец .bashrc файл, я думаю, является лучшим решением.

2
ответ дан 26 October 2019 в 09:04

Другие вопросы по тегам:

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