当前位置: 首页 > news >正文

MacOS如何切换shell类型

切换 shell 类型

如果你想在不同的 shell 之间切换,以探索它们的不同之处,或者因为你知道自己需要其中的一个或另一个,可以使用如下命令:
切换到 bash

chsh -s $(which bash)

切换到 zsh

chsh -s $(which zsh)

$()语法的作用是运行

这会提示你输入 macOS 密码。要使更改生效,你需要打开一个新的终端选项卡,或退出并重启终端应用程序。

重要提示:
切换 shell 时,如果你希望使用相同的配置,请确保将 ~/.bash_profile 的内容复制到 ~/.zshrc 中,反之亦然。此外,还要注意任何与两个 shell 不兼容的代码。

如果你不确定如何打开和编辑点文件或隐藏文件(文件名以句点开头的文件,如 .zshrc),请阅读我的 Mac 隐藏文件打开指南。

可能出现的错误

如果你收到一条关于非标准 shell 的信息,这意味着你的 shell 未列在 /etc/shells 中。使用 Homebrew 安装 shell 后可能会出现这种情况,因为你可以获得比 macOS 自带版本更新的 shell。

要让 macOS 知道 shell 的 Homebrew 版本,需要将其添加到 /etc/shells 中。以下是如何安全添加 Homebrew 的 zsh:

找到 Homebrew zsh 的路径:

which zsh

用 Sublime Text 或其他代码编辑器打开 /etc/shells,但不要用 TextEdit:

open /etc/shells -a "Sublime Text"

将 zsh 的输出复制并粘贴到 /etc/shells 底部,然后保存文件。这会提示你输入 macOS 密码。再次运行 chsh -s 命令,这次应该不会再有抱怨了。记得打开新标签页查看新的 shell。

另一种方法

另一种更改 shell 的方法是通过终端应用程序首选项,在 "Shells open with:(用以下内容打开 shell)"部分选择 "Command (complete path)(命令(完整路径))"单选按钮,如下图所示:
在这里插入图片描述
请注意,这不会更改您的默认登录 shell,您可以通过运行 echo $SHELL 来检查。您可以按照以下步骤进行测试:
将登录 shell 设置为 zsh:

chsh -s $(which zsh)

在 ~/.zshrc 的顶部添加这一行:

echo "hello from zsh"

在 ~/.bash_profile 的顶部添加这一行:

echo "hello from bash"

如果文件不存在,可以用 touch 创建:

touch ~/.bash_profile

更新终端首选项,使用 /bin/bash 命令打开 shell,如上图所示。

退出并重启终端。

你应该会看到 “hello from bash”,但如果运行 echo $SHELL,则会看到 /bin/zsh。

我不确定这是否会影响本地开发,所以我会坚持使用默认设置,并使用 chsh -s 来切换 shell。

如果你不确定如何打开和编辑点文件或隐藏文件(文件名以句点开头的文件,如 .zshrc),请阅读我的 Mac 隐藏文件打开指南。

http://www.lryc.cn/news/396327.html

相关文章:

  • Qt QSettings 使用详解:跨平台的配置管理
  • 确定适合您需求的负载组
  • Xubuntu24.04之设置高性能模式两种方式(二百六十一)
  • 【自适应滤波系列五】基于LMS算法的回声消除(Acoustic Echo Cancellation, AEC)
  • matlab 卷积和多项式乘法
  • 数据跨境传输法规日趋完善,企业如何规避合规风险?
  • 工业机床CNC设备如何上云?
  • Android C++系列:Linux进程间关系
  • 使用bypy丝滑传递百度网盘-服务器文件
  • 关于Python的类的一些理解
  • WEB安全基础:网络安全常用术语
  • ubuntu防火墙指定端口开放设置
  • Python OpenCV 教学取得视频资讯
  • 高频面试题基本总结回顾1(含笔试高频算法整理)
  • 【回溯+双指针算法题记录】回文字符串汇总
  • 【AI资讯早报】AI科技前沿资讯概览:2024年7月10日早报
  • DDR3 SO-DIMM 内存条硬件总结(一)
  • 磁力搜索引擎是什么?为什么有些资源喜欢用磁力链接?
  • Vue基础--v-model/v-for/事件属性/侦听器
  • 『大模型笔记』GraphRAG:用于复杂数据发现的新工具现已在GitHub上发布
  • LabVIEW机器视觉技术在产品质量检测中有哪些应用实例
  • 【Linux】多线程_2
  • 58、基于径向基神经网络的曲线拟合(matlab)
  • 3.上传图片(阿里云空间,oss验证)
  • 仪表板展示|DataEase看中国:2023年中国新能源汽车经济运行情况分析
  • “Numpy数据分析与挖掘:高效学习重点技能“
  • 百川工作手机实现销售管理微信监控系统
  • RAG 工业落地方案框架(Qanything、RAGFlow、FastGPT、智谱RAG)细节比对!CVPR自动驾驶最in挑战赛赛道,全球冠军被算力选手夺走了
  • 华为防火墙 拓扑搭建1
  • Linux 利用命名空间创建一个自己的“容器“