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 ash
falla en eso (resuelto).
La comprobación que $1
debe 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 csh
tipo de conchas.