Как определить текущую оболочку, над которой я работаю? - PullRequest
562 голосов
/ 25 июля 2010

Как определить текущую оболочку, над которой я работаю?

Достаточно ли будет вывода только команды ps?

Как это можно сделать в разных вариантах UNIX?

Ответы [ 23 ]

1 голос
/ 25 июля 2010

В Mac OS X (и FreeBSD):

ps -p $$ -axco command | sed -n '$p' 
0 голосов
/ 11 декабря 2017

Этот вариант хорошо работает на RHEL, MacOS, BSD и некоторых AIX *

ps -T $$ | awk 'NR==2{print $NF}' 

, альтернативно, следующий также должен работать при наличии pstree,

pstree | egrep $$ | awk 'NR==2{print $NF}'
0 голосов
/ 22 октября 2013

Пожалуйста, используйте следующую команду:

 # ps -p $$ | tail -1 | awk '{print $4}'
...