echo $SHELL可查看当前默认Shell路径,如/bin/zsh;用chsh -s /bin/zsh或chsh -s /bin/bash切换,需先确认目标Shell在cat /etc/shells列表中,修改后须重启终端并用echo $SHELL和ps -p $$验证。
直接在终端里输入
echo $SHELL
就能查看当前默认 Shell 的路径,比如显示
或
。切换则用
chsh -s
命令,但需确保目标 Shell 已被系统认可。
查看系统支持的所有 Shell
执行以下命令,列出所有被
mac
OS 允许作为登录 Shell 的路径:
cat /etc/shells
输出中应包含
、
等。如果想用的 Shell(如通过 Homebrew 安装的
)没出现在列表里,得先手动添加:
运行
sudo sh -c "echo '/usr/local/bin/fish' >> /etc/shells"
输管理员密码完成授权
用 chsh 切换默认 Shell
这是最标准、全局生效的方式,影响所有新登录会话(包括图形界面登录、SSH、新终端窗口等):
通义灵码 Mac版
通义灵码 Mac版是阿里云推出的一款AI智能编码助手,深度集成于Xcode、VS Code及JetBrains等主流IDE中。它基于大模型技术,支持行级/函数级实时续写、自然语言生成代码、单元测试生成及智能问答等核心功能。macOS用户可通过插件市场直接安装,开箱即用,旨在辅助开发者高效完成编码任务,提升研发效率。
下载
设为 zsh:
chsh -s /bin/zsh
设为 bash:
chsh -s /bin/bash
设为其他已注册 Shell(如 fish):
chsh -s /usr/local/bin/fish
输入后会提示你输入当前用户密码。成功无提示,需
完全关闭并重新打开终端窗口
才能看到变化。
验证是否切换成功
重启终端后,运行两行命令确认:
echo $SHELL
—— 显示登录时指定的默认 Shell 路径
ps -p $$
—— 查看当前正在运行的 Shell 进程名(更实时)
两者结果应一致。若不一致,说明当前会话仍是旧 Shell,可能因未重启终端或 chsh 执行失败。
临时覆盖(仅限 Terminal 应用)
不想改系统级设置,只希望 Terminal 新建窗口/标签页启动特定 Shell,可跳过 chsh:
打开“终端” → “设置” → “通用”
勾选“命令(完整的路径)”,填入如
新开一个标签页立即生效,不影响其他终端应用(如 iTerm2)或系统登录
/bin/zsh/bin/bash/bin/zsh/bin/bash/usr/local/bin/fish/bin/bash