Linux chsh初学者命令教程(5个示例)

bash shell是Linux中使用最广泛的登录shell之一。但是也存在其他shell,你可以将它们用于你的命令行......

Linux chsh初学者命令教程(5个示例)

bash shell是Linux中使用最广泛的登录shell之一。 但是也存在其他shell,您可以将它们用于命令行工作(当然,对您的工作有特定要求)。 在本文中,我们将讨论一个名为chsh的工具,它允许您切换到与当前shell不同的登录shell。

但在我们这样做之前,值得一提的是本教程中的所有示例都已经在Ubuntu 18.04 LTS机器上进行了测试。

Linux chsh命令

正如上面的介绍中已经解释的那样,chsh命令允许您更改登录shell。 以下是它的语法:

chsh [options] [LOGIN]

以下是该工具的手册页中所说的内容:

       The chsh command changes the user login shell. This determines the name
       of the user's initial login command. A normal user may only change the
       login shell for her own account; the superuser may change the login
       shell for any account.

以下是一些Q&A风格的示例,可以让您对chsh命令的工作原理有所了解。

Q1。 如何使用chsh?

基本用法非常简单 - 只需执行'chsh'命令即可。 系统会要求您输入登录密码,输入密码后,您可以选择更改登录shell。

chsh

如何使用chsh

请注意,默认情况下,更改当前用户的登录shell。

Q2。 如何使用chsh更改登录shell?

正如您所期望的那样,只需输入新值(参见前面示例中的屏幕截图),您的shell将更改为新值。

例如,我输入/ bin / sh作为新值。

如何使用chsh更改登录shell

要验证更改,可以再次运行chsh命令。 方括号中显示的值是当前shell。 所以在我的情况下,当前的shell变为/ bin / sh:

设置新的登录shell

Q3。 如何更改其他用户的登录shell?

为此,只需将用户名指定为chsh命令的输入。

chsh [username]

例如,要更改root的登录shell,请按以下方式使用chsh:

chsh root

如何更改其他用户的登录shell

Q4。 如何在非交互模式下运行chsh?

为此使用-s命令行选项,这需要将shell名称作为输入传递给它。

例如:

chsh -s /bin/sh

这样,当前用户的登录shell将以非交互方式更改为/ bin / sh。

Q5。 如何查看系统上可用的登录shell列表?

要快速查看系统中可用的shell列表,只需使用/ etc / shells文件。

例如,这是我的系统上产生的输出:

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash

注意:

       The only restriction placed on the login shell is that the command name
       must be listed in /etc/shells, unless the invoker is the superuser, and
       then any value may be added. An account with a restricted login shell
       may not change her login shell. For this reason, placing /bin/rsh in
       /etc/shells is discouraged since accidentally changing to a restricted
       shell would prevent the user from ever changing her login shell back to
       its original value.

结论

所以你看,chsh命令是命令行用户应该注意的重要工具。 在本教程中,我们讨论了该工具提供的大多数命令行选项。 要了解有关chsh的更多信息,请访问其手册页