在 Debian 中可以替换默认 Shell,但需要注意“默认 Shell”有几个不同层面,下面分情况说明。
echo $SHELL
cat /etc/shells
chsh -s /bin/zsh
或
chsh -s /usr/bin/fish
⚠️ 修改后重新登录或重启终端才生效。
Debian 新用户默认 Shell 由 /etc/default/useradd 决定:
sudo nano /etc/default/useradd
改这一行:
SHELL=/bin/zsh
之后 adduser / useradd 创建的用户都会用这个 Shell。
root 的 Shell 在 /etc/passwd 中:
root:x:0:0:root:/root:/bin/bash
修改方式:
sudo chsh -s /bin/zsh root
⚠️ 不建议 root 用太复杂或易出错的 Shell(如 fish),否则系统维护可能出问题。
/bin/sh 是系统脚本用的,Debian 默认是 dash:
ls -l /bin/sh
❌ 不要随意改 /bin/sh,很多系统脚本依赖 dash 行为。
sudo apt install zsh
sudo apt install fish
zsh / fishbash/bin/sh如果你告诉我想换成哪个 Shell(zsh / fish / bash),我可以给你一步步配置示例。