首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让zsh在Mac上作为登录shell运行(在iTerm中)?

如何让zsh在Mac上作为登录shell运行(在iTerm中)?
EN

Stack Overflow用户
提问于 2009-08-14 08:37:25
回答 3查看 149.8K关注 0票数 150

当zsh被设置为Mac上的登录shell时,当它由iTerm启动时,zsh不会认为它是作为登录shell运行的,尽管它是以‘-zsh’(‘-’作为arg的第一个字符)启动的,这意味着它应该作为登录shell启动。

因此,当我将登录shell设置为bash时,bash会识别$0中的第一个‘-’,并作为登录shell运行,但zsh不会,尽管它似乎应该这样做。

有没有办法让zsh识别arg中的‘-’,或者让iTerm使用--login命令行参数运行外壳?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-24 02:33:03

在iTerm ->首选项登录配置文件选项卡登录常规部分中,将命令设置为:/ -> /zsh ->

票数 108
EN

Stack Overflow用户

发布于 2009-12-01 04:13:33

代码语言:javascript
复制
chsh -s $(which zsh)

系统将提示您输入密码,但一旦您更新了设置,在该计算机上启动的任何新iTerm/Terminal会话都将默认为zsh。

票数 219
EN

Stack Overflow用户

发布于 2016-03-03 11:37:50

用于在启动时更改外壳的命令是chsh -s <path_to_shell>。mac中的默认zsh安装在bin目录中,因此如果您想要更改为默认shell,则可以使用以下命令

代码语言:javascript
复制
chsh -s /bin/zsh

如果您使用的是不同版本的zsh,那么您可能需要将该版本添加到/etc/shells中,以避免出现非标准外壳消息。例如,如果您想要home-brew版本的zsh,那么您必须将/usr/local/bin/zsh添加到前面提到的文件中,这可以在一个命令sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells"中完成,然后运行

代码语言:javascript
复制
chsh -s /usr/local/bin/zsh

或者,如果您想在一个命令中完成所有操作,只需复制并粘贴此命令(如果您已经安装了zsh

代码语言:javascript
复制
sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells" && chsh -s /usr/local/bin/zsh
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1276703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档