如何在Linux中更改默认shell?
假设您需要在Linux中更改shell的默认设置或安装。您需要使用chsh命令,本文展示了如何在Linux中使用chsh命令来改变默认shell。
如何更改我的默认Shell
- 首先,找出Linux机器上可用的shell,即运行cat /etc/shells
- 输入chsh并按Enter键
- 您需要输入新的shell完整路径。 例如,/bin/ksh
- 登录并注销,以验证您的Shell在Linux操作系统上是否正确更改。
让我们详细查看所有命令。
列出Linux中的Shell
在/etc/shells文件中运行以下cat命令:
linuxmi@linuxmi:~/www.linuxmi.com$ cat /etc/shells
当然,我们可以使用grep命令/egrep命令来确定是否安装了诸如zsh或fish这样的特定shell,请运行:
linuxmi@linuxmi:~/www.linuxmi.com$ grep “zsh” /etc/shells
/bin/zsh
/usr/bin/zsh
linuxmi@linuxmi:~/www.linuxmi.com$ grep “fish” /etc/shells
/usr/bin/fish
找出您当前的Shell名称
执行以下任一命令以查找当前的shell实例:
linuxmi@linuxmi:~/www.linuxmi.com$ ps -p $$
PID TTY TIME CMD
11711 pts/1 00:00:00 bash
linuxmi@linuxmi:~/www.linuxmi.com$ printf “My current shell – %s\n” “$SHELL”
My current shell – /bin/bash
linuxmi@linuxmi:~/www.linuxmi.com$ grep “^${USER}” /etc/passwd
linuxmi:x:1000:1000:linuxmi,,,:/home/linuxmi:/bin/bash
将默认shell从bash更改为zsh
要使用chsh将shell更改为zsh,请运行:
linuxmi@linuxmi:~/www.linuxmi.com$ type -a zsh ##找到zsh的路径 ##
linuxmi@linuxmi:~/www.linuxmi.com$ chsh -s /bin/zksh ## 将bash更改为zsh ##
验证一下:
linuxmi@linuxmi:~/www.linuxmi.com$ grep “^${USER}” /etc/passwd
注销并再次登录。 可以关闭终端应用程序并重新打开它,或使用su命令,如下所示”
linuxmi@linuxmi:~/www.linuxmi.com$ su – linuxmi
用chsh将您的shell重新变成bash
是否要撤消更改? 尝试:
type -a bash
chsh -s /bin/bash
## 用实际的用户名替换linuxmi##
grep ‘^linuxmi’ /etc/passwd
su – linuxmi
获得有关chsh命令的帮助
在CLI上键入以下命令之一:
man chsh
或者:
chsh –help
选项如下:
- -h:显示帮助消息并退出。
- -R CHROOT_DIR:在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
- -s /path/to/SHELL:用户新登录shell的名称。 将此字段设置为空白会导致系统选择默认的登录shell。
总结
通过本文,您了解了如何使用chsh命令更改默认Shell。 有关更多信息,请参见shadow-utils主页。