当前位置: 首页>>技术教程>>正文


如何检查我使用的是哪个shell?

,

问题描述

我读过这个终端只是shell,而Unix提供了不同的shell类型:

  • Bourne shell(sh)

  • C shell(csh)

  • TC shell(tcsh)

  • Korn shell(ksh)

  • Bourne Again shell(bash)

问题:

  • 当我打开一个终端窗口时,哪个shell默认打开?

  • 如何检查安装了多少个shell?

  • 如何更改从我的帐户使用的shell?

最佳解决思路

您可以在终端中键入以下命令以查看您正在使用的 shell :

echo $0

如果您使用bash(Bourne Again Shell)终端,结果将如下所示:

-bash

次佳解决思路

要找到默认环境中的shell,可以检查SHELL环境变量的值:

echo $SHELL

要查找当前shell实例,请查找具有当前shell实例的PID的进程(shell)。

要查找当前shell实例的PID:

echo "$$"

现在找到具有PID的进程:

ps -p <PID>

把它放在一起:

ps -p "$$"

第三种解决思路

$SHELL为您提供了默认的shell。 $0为您提供当前的shell。

例如:我有bash作为我的默认shell,我用于我的终端应用程序。但是对于我的iTerm2应用程序,在窗口打开时使用该命令:/bin/ksh

所以我的$0在iTerm2上给了我/bin/ksh$SHELL在iTerm2上给我/bin/bash$0$SHELL在终端上给我/bin/bash

第四种思路

要知道哪个是您的用户的默认shell,您可以运行:

echo "$SHELL"

例如,如果你使用Bash,你应该得到以下输出:

/bin/bash

如果你没有改变任何配置,它应该是Bash,因为它是Ubuntu上的默认shell。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/232.html,未经允许,请勿转载。