你们很多人都知道,macOS 正在zsh
从切换到bash
。在转换之前,我想先玩zsh
一下。
有没有办法打开一个终端窗口或选项卡作为zsh
shell,而不必设置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。