El pid del shell en ejecución viene dado por var $$ (en la mayoría de los shells).
whichsh="`ps -o pid,args| awk '$1=='"$$"'{print $2}'`"
echo "$whichsh"
Usando backticks para hacer que jsh (Heirlomm shell) funcione.
En muchos shells la prueba directa de ps -o args= -p $$obras, pero busybox ashfalla en eso (resuelto).
La comprobación que $1debe ser igual a $$elimina la mayoría de los falsos positivos.
Los últimos ;:se utilizan para mantener el shell en ejecución para ksh y zsh.
Las pruebas en más sistemas ayudarán, por favor haga un comentario si no funciona para usted.
No funciona en cshtipo de conchas.