最近我遇到终端启动时间慢的情况,所以我研究了一下,发现了一个有趣的事情。我在 MacBook 上使用 iTerm。有一个选项选择默认行为:
如果我选择“Login shell”,它会提示Last login: Fri Mar 24 17:27:28 on ttys007(下左);如果我选择“zsh”,它不会提示任何内容,并且启动时间非常快(下面右侧)。
我使用的默认 shell 是zsh,我想知道“登录 shell”内部发生了什么以及为什么它与纯 shell 相比如此慢zsh。
“登录 shell”在登录模式下运行常用的 shell(zsh 或 bash),其中 shell 处理附加配置文件 \xe2\x80\x93,例如.zlogin或.bash_profile。这些文件可能有太多不必要的命令 \xe2\x80\x93 尝试使它们尽可能轻量。
您可以尝试运行zsh -l并与常规比较zsh。(虽然-l不是标准的“登录模式”开关,但它很常见。)
(尽管恕我直言,终端应用程序甚至在“登录模式”下运行 shell 都有点奇怪\xe2\x80\xa6 这有点违背了能够配置不同启动命令的整个想法。)
\n