Como determinar quantas conchas posso ser?

7

Eu estou querendo saber se eu chamei o shell de forma recursiva, existe uma maneira fácil de descobrir? Existe alguma solução específica para o shell? Estou usando bash.

    
por cgp 15.06.2009 / 20:42

4 respostas

19
echo $SHLVL

Do bash manpage:

SHLVL Incremented by one each time an instance of bash is started.

    
por 15.06.2009 / 20:46
6

Uma maneira é usar o pstree:

$ pstree -h
[...]
├─sshd─┬─sshd───sshd───bash───bash───bash───bash───bash───pstree
│      └─sshd───sshd───bash───bash───bash───bash
[...]
    
por 15.06.2009 / 20:50
2
echo $SHLVL

Isso vai pegar se você fizer algo como:

[sharpestmarble@sandbox ~]$ bash 

Embora isso não capture algo parecido com SSH no host local.

[sharpestmarble@sandbox ~]$ ssh localhost
    
por 15.06.2009 / 20:48
1

Também é útil: $BASH_SUBSHELL

$ echo $SHLVL
1
$ (echo $SHLVL)
1
$ echo $BASH_SUBSHELL
0
$ (echo $BASH_SUBSHELL)
1
$ ( (echo $BASH_SUBSHELL) )
2
    
por 16.06.2009 / 21:40