Как определить текущую оболочку, над которой я работаю?
Достаточно ли будет вывода только команды ps?
ps
Как это можно сделать в разных вариантах UNIX?
В Mac OS X (и FreeBSD):
ps -p $$ -axco command | sed -n '$p'
Этот вариант хорошо работает на RHEL, MacOS, BSD и некоторых AIX *
ps -T $$ | awk 'NR==2{print $NF}'
, альтернативно, следующий также должен работать при наличии pstree,
pstree | egrep $$ | awk 'NR==2{print $NF}'
Пожалуйста, используйте следующую команду:
# ps -p $$ | tail -1 | awk '{print $4}'