Zsh中有什么像bash_profile一样的东西吗?

时间:2014-04-15 17:20:07

标签: zsh

每当我打开终端时,我都必须使用.bash_profile来启用$ JAVA_HOME或其他变量。

7 个答案:

答案 0 :(得分:36)

我知道这是一个老问题,但是我最近将MacO升级到了Catalina,从而将默认shell从bash更改为zsh。

我最终这样做了:

 echo source ~/.bash_profile > ~/.zshenv && source ~/.zshenv

要让zsh源我的原始.bash_profile。

答案 1 :(得分:3)

是的,它被称为~/.zshenv

以下是我在$JAVA_HOME中设置~/.zshenv的方式:

export JAVA_HOME="$(/usr/libexec/java_home)"

但请注意,zsh bash,因此只是因为每次打开终端时都必须来源.bash_profile not not 意味着您必须使用zsh执行此操作。使用zsh,我只需要对我的~/.zshenv 进行更改,然后仅用于已经打开的终端:新终端应该已经有了来源我的新~/.zshenv

注意

我经常发现它有用,在尝试确定我应该将哪些zsh启动文件放入咨询zsh startup files时。

答案 2 :(得分:3)

最近从Mac升级到Catalina OS,默认情况下它更改为运行Z Shell,该Z Shell使用zshrc文件作为Z-shell资源,我们通常在用户主目录中包含bash_profile,解决方案是简单地

  1. 打开> vim〜/ .bash_profile,从bash_profile复制内容
  2. 通过> vim〜/ .zshrc创建zshrc
  3. 将bash_profile内容复制到zsrc中

打开一个新的终端窗口并运行以前的别名的/脚本应该可以正常运行

答案 3 :(得分:2)

要继续使用.bash_profile的其他简单替代方法是将此文件添加到.zshrc文件中:

  1. 打开您的.zhsrc文件> vim〜/ .zshrc
  2. 将此行添加到您的.zshrc文件中>源〜/ .bash_profile

通过这种简单的解决方案,如果您喜欢zhs,则可以继续添加.bash_prifile。

Adding .bash_profile

答案 4 :(得分:0)

在Mac Catalina中,终端使用zsh。最好不要拥有.bash_profile,而要拥有.zshenv并在那里编写脚本。

下次每次打开终端时,.zshenv中的脚本都会执行。

答案 5 :(得分:0)

我遇到了这个问题,我遵循了 Zack 和 Luke Schoen 的回答,但我的 $PATH 与我在 bash 中的看起来不一样。

这篇文章解释了不同的配置文件的作用: https://unix.stackexchange.com/questions/71253/what-should-shouldnt-go-in-zshenv-zshrc-zlogin-zprofile-zlogout

我发现将我的 .bash_profile 路径导出拆分为 .zprofile 并将我的别名拆分为 .zshrc 最适合我想要的。

我发现了为什么 Zack 和 Luke Schoen 的回答对我不起作用:

我在 .zshenv 中列出的路径导出先执行,然后执行 /usr/libexec/path_helper, 将 /etc/paths 中列出的路径放在前面。

答案 6 :(得分:0)

我在 /etc/zprofile 位置找到了配置文件。这将用于 zsh