Iva*_*sov 146 macos bash shell zsh
当zsh在Mac OS X上设置为登录shell时,当它由iTerm启动时,zsh不会认为它是作为登录shell运行的,尽管它以'-zsh'开头(' - '作为arg [0]的第一个字符,它应该意味着它应该作为登录shell启动.
因此,当我将登录shell设置为bash时,bash在$ 0中首先识别出这个' - '并作为登录shell运行,但是zsh不会,尽管它似乎应该.
有没有办法让zsh识别arg [0]中的' - ',或者让iTerm使用--login命令行参数运行shell?
Dam*_*son 221
chsh -s $(which zsh)
Run Code Online (Sandbox Code Playgroud)
系统将提示您输入密码,但一旦更新设置,您在该计算机上启动的任何新的iTerm/Terminal会话将默认为zsh.
Har*_*man 101
在iTerm - >首选项 - >配置文件选项卡 - >常规部分中将命令设置为:/ bin/zsh --login

Aru*_*mar 58
转到系统偏好设置的用户和组窗格- >选择用户 - > 单击锁定进行更改(左下角) - >右键单击当前用户选择高级选项... - >选择登录Shell:/bin/zsh和OK
has*_*ain 20
在启动时更改shell的命令是chsh -s <path_to_shell>.mac OS X中的默认shell安装在bin目录中,因此如果要更改为默认值,zsh则可以使用以下命令
chsh -s /bin/zsh
Run Code Online (Sandbox Code Playgroud)
如果您使用的是不同版本,zsh则可能必须添加该版本/etc/shells以避免非标准shell消息.例如,如果你想要home-brew的版本,zsh你必须添加/usr/local/bin/zsh上述文件,你可以在一个命令中执行sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells",然后运行
chsh -s /usr/local/bin/zsh
Run Code Online (Sandbox Code Playgroud)
或者,如果您想在一个命令中执行整个操作,只需复制并粘贴此选项(如果已安装zsh)
sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells" && chsh -s /usr/local/bin/zsh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
140837 次 |
| 最近记录: |