/etc/passwd 显示 bash SHELL,但我的终端在 csh 中启动

/etc/passwd 显示 bash SHELL,但我的终端在 csh 中启动

我试图确定csh打开终端并登录时将 shell 设置为什么。根据我读到的信息,默认 shell 设置为/etc/passwd,并且我在文件中看到一个条目/etc/passwd。但是当我登录时,shell是csh.

什么文件或进程可以将我的 shell 设置为csh

答案1

用户帐户的默认 shell 通常在该/etc/passwd文件中设置。另一个配置文件或进程可能会覆盖它。

您的系统可能在配置文件中设置了全局默认 shell,例如/etc/profile/etc/bashrc您的用户帐户在用户特定的配置文件中设置了特定 shell,例如~/.bashrc~/.profile等。

这些文件在用户登录时运行,并且可以覆盖在中设置的默认 shell/etc/passwd

查找任何设置SHELL或执行命令来设置 shell 的行。

也尝试一下这个命令:

usermod -s /bin/bash YOUR_USERNAME

如何将默认 shell 从 csh 更改为 bash

或者

chsh -s /bin/bash

这会将您的默认 shell 更改为 bash。

您可能需要注销并重新登录才能使更改生效。

使用 chsh 更改 Linux 中的默认 shell

在哪里更换外壳?

将 Shell 更改为 /bin/bash,无需通过文件进行 root 访问

相关内容