如何在 macOS 中使用 zsh 运行单个终端窗口或选项卡?

如何在 macOS 中使用 zsh 运行单个终端窗口或选项卡?

你们很多人都知道,macOS 正在zsh从切换到bash。在转换之前,我想先玩zsh一下。

有没有办法打开一个终端窗口或选项卡作为zshshell,而不必设置zsh为我的默认壳?

比如说,我可以在终端偏好设置中使用启动运行命令设置一个配置文件,以便让使用该配置文件打开的窗口/选项卡通过 shell 运行zsh吗?

更新:
Shell通过在终端偏好设置中创建配置文件、单击选项卡、单击Run command、添加命令exec /bin/zsh并单击Run inside shell, 我得到了我想要的东西。

这确实会打开一个运行的终端窗口zsh- 在 内部。但是,我正在寻找一个可以自行bash打开并运行的窗口...zsh

澄清:
我希望 shell 运行正常的zsh启动/关闭文件 -没有不得不改变我的默认壳。

答案1

要使用不同的 shell 启动 macOS 终端应用实例,您可以使用不同的
配置文件启动终端。为此,您需要从首选项窗口导出设置配置文件,然后使用命令打开设置文件open。例如:

open Documents/Profile.terminal

相关问题

(正如@mpy 指出的那样)您可以通过exec zsh在 bash 中运行来实现非常类似的效果。

exec zsh在 bash 中运行取代使用 zsh shell 的当前进程。您不再在 bash 中运行 zsh,全部启动文件被执行/获取,并且全部当 shell 退出时,关闭文件将运行。这应该是将默认 shell 从 bash 切换到 zsh 时获得的确切体验。

从技术上来说,这是不正确的全部启动和关闭文件将在您exec zsh启动新终端时运行。这是因为登录和非登录 shell 运行/获取的启动/关闭文件不同。下面是解释登录 shell 的更多信息。

登录 shell 是第一个以您的用户 ID 执行的进程。当您启动新终端时,您始终会获得非登录交互式 shell。登录 shell 通常不是交互式的。

有关登录和非登录 shell 的更多信息,请参阅这个问题来自unix stack exchange。

相关内容