如何判断我使用的是哪个unix shell?

RHT*_*RHT 80 unix linux shell

有一种简单的方法可以告诉我我在哪种类型的unix shell吗?

一个命令,显示我是否在bash/ csh/ ksh/ tcsh/ zsh

whatshellisthis

小智 128

尝试:

echo $0
Run Code Online (Sandbox Code Playgroud)

这通常适用于各种贝壳.


Nik*_*sov 19

mac:~$ ps
  PID TTY           TIME CMD
  223 ttys000    0:00.33 -bash

obsd:~$ ps
  PID TT  STAT       TIME COMMAND
20038 p0  Ss      0:00.01 -ksh (ksh)
22251 p0  R+      0:00.00 ps
Run Code Online (Sandbox Code Playgroud)

要不就 echo $SHELL

  • 我认为`$ SHELL`是系统(或用户)的默认shell,它通常(但不一定)是在任何给定时刻实际使用的shell. (9认同)

a.s*_*abh 12

echo $SHELL命令将为您提供相对于root的shell名称.

  • $SHELL 是登录 shell。如果您的登录 shell 是 bash 并且您启动 tcsh,那么即使您运行的 shell 是 tcsh,$SHELL 仍将是 bash。 (2认同)

pra*_*pra 8

我知道的每个shell都将$ variable($$)设置为它的pid.所以...

ps | grep $$
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 5

如果您使用的是OSx终端,则在启动时会在终端的标题栏中指定shell - 如下所示: Terminal - ShellName - 80x24