Каждый раз, когда я открываю терминал, мне нужно указать источник .bash_profileдля включения тех $JAVA_HOMEили иных переменных.
Ответы:
Да, это называется ~/.zshenv.
Вот как я $JAVA_HOMEустроился ~/.zshenv:
export JAVA_HOME="$(/usr/libexec/java_home)"
Однако имейте в виду, что zsh - это не bash, поэтому то, что вам нужно исходить .bash_profileкаждый раз, когда вы открываете терминал, не означает, что вы должны делать это с помощью zsh. С zsh мне нужно повторно исходить только ~/.zshenv тогда, когда я вношу в него изменения , и то только для терминалов, которые уже открыты : новые терминалы должны были уже получить мои новые и улучшенные ~/.zshenv.
ЗАМЕТКА
Я часто нахожу это полезным, когда пытаюсь определить, в какие из моих файлов запуска zsh мне следует поместить элементы, чтобы просмотреть файлы запуска zsh .
.zprofileэто ближе по смыслу к тому .bash_profile, что оба они исходят только от своих соответствующих оболочек для оболочек входа. .zshenvвыполняется для всех экземпляров zsh, независимо от того, являются они оболочками входа или нет.
.zshenv- это место, где должны быть определены все переменные среды. Смотрите здесь
.bash_profileдолжен делать для bashчего .zshenvи .zprofile/.zloginвместе делать для zsh. Эта ссылка дает хорошую информацию о том, что и куда нужно делать.
PATHin .zshenvзаключается в том, что позже его можно будет переопределить, скажем, с помощью /etc/profile; см. переменную PATH в .zshenv или .zshrc .
Я знаю, что это старый вопрос, но я недавно обновил MacOs до Catalina, который изменил оболочку по умолчанию с bash на zsh.
В итоге я сделал это:
echo source ~/.bash_profile > ~/.zshenv && source ~/.zshenv
Чтобы получить исходный код zsh, мой исходный .bash_profile.
echo source ~/.bash_profile > ~/.zshenv
echoЗдесь важно использование ? Что это значит?
X > Yпередавать только то, что выводит X. Без эха ничего не выводится.
Недавно с обновлением до Catalina OS с Mac, по умолчанию он изменяется для запуска Z-оболочки, которая использует файл zshrc в качестве ресурса Z-оболочки, у нас обычно был bash_profile внутри домашнего каталога пользователя, решение состоит в том, чтобы просто
Откройте новое окно терминала и запустите свой предыдущий псевдоним / скрипт должен работать безупречно.
Другой простой альтернативой продолжению использования вашего .bash_profile является добавление этого файла в ваш .zshrc файл:
с помощью этого простого решения вы можете продолжить добавление вашего .bash_prifile, если вам нравится zhs.
В Mac Catalina терминал использует zsh. Вместо .bash_profile лучше иметь .zshenv и писать там свой скрипт.
Когда вы каждый раз открываете терминал, скрипты внутри .zshenv запускаются.