为什么需要为 iTerm 中的每个新 shell 获取 .zshrc?

Why do you need to source .zshrc for every new shell in iTerm?

在过去的 3 年里,我每天都将 Iterm2 与 zsh 一起使用,但我得到了一台新电脑,不得不重新设置它。问题是当我 运行 ~/.zshrc 它工作正常,但我必须在我打开的每个新终端 window 上都这样做。不是很好的体验。

我注意到我的新机器上没有任何 bashrcbash_profileprofile(点)文件。

这是 ~/.zshrc 中的代码:

export ZSH=/Users/healy/.oh-my-zsh
plugins=(
  git
)
ZSH_THEME="agnoster"
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
DEFAULT_USER=healy

再次,它完美地工作(和预期的一样),但只有在我 运行 source 命令之后,情况不应该如此。

在开始新的 shell 时只需 运行 命令 source ~/.zshrc 通过在

中配置

首选项 -> 配置文件 -> Select 默认配置文件(默认profile 将被加星标)-> General -> Command -> Select Login Shell -> 在开头发送文本:

输入值source ~/.zshrc

如果执行命令后需要清除屏幕内容,您可以添加source ~/.zshrc; clear

确保你的 export/source 添加在你的 zshrc 中的插件之后,如 post 中所述: oh-my-zsh config file not loading

对我来说,它是这样工作的。 配置文件》打开配置文件》Select“编辑配置文件”》配置文件》常规 并将 "source ~/.zsh" 放入“在开始文本字段中发送文本”。

在我的例子中,oh-my-zsh 没有加载,因为该行被注释掉了。

# IT'S WRONG! NEED TO UNCOMMENT
# export ZSH=/Users/$(whoami)/.oh-my-zsh

虽然这个问题显然不是同一个"comment out",但我得出的结论是,如果每次打开shell实例都需要source ~/.zshrc你的 .zshrc 应该有问题, 并检查 oh-my-zshantigen(也许)工作正常。

我遇到了同样的问题,更改 Shells Open with 选项为我解决了这个问题。

到达这里:

  • 打开终端首选项
  • Select 常规选项卡
  • 将 Sells open with 从 Default login shell 更改为在输入框中使用 /bin/zsh 命令(完整路径)。

截图:

在带有终端 2.11 的 11.2.1 上,假设您已经在主目录中创建了 .zshrc,启动终端和 select 终端 >> 首选项 >> 配置文件 >> Shell

在“启动”下勾选“运行命令:”并输入source ~/.zshrc