Tom*_*Tom 237 command-line bash zsh
我正在尝试将 ZSH 设置为我的默认 shell,但是它不断恢复为 bash。
我试过这个代码:
sudo chsh -s $(which zsh)
Run Code Online (Sandbox Code Playgroud)
我也试过:
sudo chsh -s /bin/zsh
Run Code Online (Sandbox Code Playgroud)
还尝试了没有 sudo 的这些命令。关于我还需要做什么的任何想法。从 bash 中运行 ZSH 时,它会加载并正常工作,但我想将其设置为默认 shell。
Flo*_*sch 378
只是使用chsh
:
chsh -s $(which zsh)
Run Code Online (Sandbox Code Playgroud)
没有 sudo
应该工作。如果您使用sudo
它,它将更改不是为您的工作用户而是为root用户的 shell
最后,退出您的计算机并重新登录。
故障排除:
dpkg -l zsh
grep $USER /etc/passwd
grep zsh /etc/shells
小智 60
我在超级用户论坛上找到了这个
打开/etc/passwd:
sudo vi /etc/passwd
Run Code Online (Sandbox Code Playgroud)
找到包含您的用户名的行:
username:x:1634231:100:Your Name:/home/username:/bin/bash
Run Code Online (Sandbox Code Playgroud)
并用 zsh 替换 bash:
username:x:1634231:100:Your Name:/home/username:/bin/zsh
Run Code Online (Sandbox Code Playgroud)
注销并重新登录以使更改生效。
小智 25
你也可以这样做:
在您喜欢的编辑器中打开您的 bashrc 文件
sudo nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
然后在文件顶部下方添加一行
exec zsh
Run Code Online (Sandbox Code Playgroud)
每次加载终端并运行 zsh shell 时,它都会执行该命令。
Rib*_*b47 10
我在当前用户下更改 shell 的权限有问题,但接下来对我有帮助(您应该为您的计算机设置正确的“zsh”文件夹):
sudo chsh -s /bin/zsh <myUserName>
Run Code Online (Sandbox Code Playgroud)