温馨提示×

ubuntu怎样替换默认shell

小樊
36
2026-10-27 19:01:33
栏目: 编程语言

在 Ubuntu 中替换默认 shell,通常有以下几种常见做法,取决于你是修改某个用户还是系统范围。


一、查看当前可用 shell

cat /etc/shells

常见 shell:

  • /bin/bash
  • /bin/zsh
  • /usr/bin/fish
  • /bin/sh

如果没看到你想用的 shell,先安装,例如:

sudo apt install zsh

二、修改某个用户的默认 shell(最常用)

方法 1:使用 chsh

chsh -s /bin/zsh
  • 修改的是当前用户
  • 重新登录后生效

指定其他用户(需要 root):

sudo chsh -s /bin/zsh username

方法 2:直接修改 /etc/passwd(不推荐新手)

sudo vipw

找到用户行,把最后的 shell 改成:

username:x:1000:1000::/home/username:/bin/zsh

三、修改 root 的默认 shell

sudo chsh -s /bin/zsh root

四、设置系统默认 shell(影响新用户)

查看当前系统 shell

echo $SHELL

修改系统默认 login shell

sudo dpkg-reconfigure dash
  • 选择 No 可把 /bin/sh 从 dash 改为 bash(仅影响 /bin/sh)

⚠️ 注意:Ubuntu 中 /bin/sh 和用户的 login shell 是两回事


五、让新用户默认使用某个 shell

编辑:

sudo vim /etc/default/useradd

修改:

SHELL=/bin/zsh

六、立即生效(不重新登录)

exec zsh

或

exec bash

七、常见示例

切换到 zsh

sudo apt install zsh
chsh -s /bin/zsh

切换到 fish

sudo apt install fish
chsh -s /usr/bin/fish

如果你愿意,可以告诉我:

  • 你想换成 哪个 shell(zsh / fish / bash)
  • 是 当前用户、root 还是所有新用户

我可以给你更精确的命令。

0 踩