Как определить, какую оболочку unix я использую?

Есть ли простой способ, с помощью которого я могу определить, какой тип оболочки unix я нахожусь в i.e, есть ли я в bash / csh / ksh / tcsh?

Ответ 1

Try:

echo $0

Это часто работает в разных оболочках.

Ответ 2

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

Или просто echo $SHELL

Ответ 3

Команда echo $SHELL предоставит вам имя вашей оболочки относительно root.

Ответ 4

Каждая оболочка, которую я знаю, устанавливает $variable ($$) в ее pid. Так что...

ps | grep $$

Ответ 5

Если вы используете терминал OSx, тогда оболочка указывается в строке заголовка терминала при ее запуске - например: Terminal - ShellName - 80x24