使用chsh在Linux中更改我的默认Shell

时间:2020-01-09 10:37:35  来源:igfitidea点击:

如何在Linux中更改默认shell程序?
假设您需要通过默认设置或安装来更改Linux中的Shell。
您需要使用chsh命令。
本页显示如何使用CLI在Linux中更改默认Shell。

如何更改我的默认shell

  • 首先,找出Linux机器上可用的shell,然后运行cat/etc/shells。
  • 输入chsh并按Enter键
  • 您需要输入新的shell完整路径。例如/bin/ksh
  • 登录并注销,以验证您的shell在Linux操作系统上是否正确更改。

让我们详细查看所有命令。

列出Linux中的Shell

/etc/shells文件中运行以下cat命令:

cat /etc/shells

当然,我们可以使用grep命令/egrep命令来确定是否安装了诸如zsh或fish之类的特定shell,请运行:

grep "zsh" /etc/shells
grep "fish" /etc/shells

找出您当前的shell名称

执行以下任一命令以查找当前的shell实例:

ps -p $$

或者

printf "My current shell - %s\n" "$SHELL"

或者

grep "^${USER}" /etc/passwd

将默认shell从bash更改为ksh

要使用chsh将shell更改为zsh,请运行:

type -a zsh ## find path to ksh ##
chsh -s /bin/zsh ## change bash to ksh ##

验证一下:

grep "^${USER}" /etc/passwd

注销并再次登录。
可以关闭终端应用程序,然后重新打开它,或使用su命令,如下所示

su - Hyman

用chsh将您的shell重新变成bash

是否要撤消更改?
尝试:

type -a bash
chsh -s /bin/bash
## replace Hyman with actual username ##
grep '^Hyman' /etc/passwd
su - Hyman

获得有关chsh命令的帮助

在CLI上键入以下命令之一:

man chsh

或者

chsh --help

选项如下:

  • -h:显示帮助消息并退出。
  • -R CHROOT_DIR:在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
  • -s/path/to/SHELL:用户新登录shell的名称。将此字段设置为空白会导致系统选择默认的登录shell。