首页 > 解决方案 > 如何在 MacOS 上将 'echo $SHELL' 更改为 '\bin\zsh'

问题描述

我最近从 Catlina 升级到 Big Sur 并将 shell 更改为 zsh 但是当我回显 $SHELL 它仍然显示 /bin/bash 我该如何更改

在此处输入图像描述

标签: macosshellterminalzsh

解决方案


我要么放一个

SHELL==zsh

或者

SHELL=$0:a

进入你的~/.zshenv(这两种形式之间的区别在下面解释)。这有几个优点:

  • 此文件仅由 zsh 处理,交互式和非交互式,因此不存在此设置被其他 shell 拾取的风险。

  • 通过将其设置为 shell 变量而不是环境变量,编写在不同 shell(bash、ksh、sh、...)中的子进程可以SHELL自行设置变量,如果他们愿意的话。

  • 通过使用 形式=zsh,zsh 将单词zsh扩展为 shell 的完整路径。这假设zsh在您的 PATH 中,无论如何这是合理的。

  • 如果您决定使用替代形式,$0:a而不是=zsh,则您将分配给当前zshSHELL的路径。如果您的系统上安装了多个 zsh 版本,并且想要确保将其设置为当前正在运行的版本,这会有所不同。SHELL


推荐阅读