Linux Shell 提示:将登录Shell 从 Bash 更改为其他

164 阅读1分钟

如何找出我当前正在运行的Linux shell?您能否还解释一下如何临时和永久更改我的 Unix shell?(例如,从 bash 到 tsh)。

您可以使用 $0, exec, chsh -s来实现这些。在本文中,让我们详细了解一下如何执行这些操作。

 

1. 我当前的 Unix shell 是什么?

使用 echo $0 命令获取您当前的 shell 名称,如下所示。

$ echo $0
/bin/bash

2. 如何将我当前的 shell 更改为另一种类型 - 临时?

使用 exec 命令临时更改您的外壳,如下所示。

$ echo $0
/bin/bash

$ exec /bin/sh

$ echo $0
/bin/sh

注意: 以上更改是暂时的。当您重新登录时,您将返回到原始 shell。

3. 如何将我当前的 shell 永久更改为另一种类型?

要永久更改您的 shell,请使用chsh命令,如下所示。

 

$ chsh -s /bin/sh
Password:

注意: 以上更改是永久性的。即使在重新登录后,您也只会看到新的外壳。

4. 如何找出系统中所有可用的shell?

所有可用的 shell 都位于 /etc/shells 文件中。

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/bin/ksh93

要更改您的登录 shell,您只能从上面的输出中进行。但是要更改当前外壳,您可以转到任何可用的外壳。

5. 安装新外壳

您可以安装一个新的 shell(例如 ksh),如下所示。安装新 shell 后,您可以将其用作永久登录 shell,或用于命令行操作的临时 shell。

$ sudo apt-get install ksh