Каждый раз, когда я открываю терминал, мне нужно указать источник .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
. Эта ссылка дает хорошую информацию о том, что и куда нужно делать.
PATH
in .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 запускаются.