Nível de Shell identifica o nível de sub-shell em um shell aninhado
Bash man - Nível SHLVL da concha
SHLVL - Incrementado por um cada vez que uma nova instância do Bash é iniciada.
- Pretende-se que seja uma contagem de quão profundamente suas conchas do Bash estão aninhadas.
Como você pode ver aqui
Quando se bashexecuta, o nível do shell bash é maior em 1
A seguinte chamada recursiva ao bash:
$ echo "bash haha" > haha
$ bash haha
Recebia esta mensagem periodicamente:
bash: aviso: nível do shell (1000) muito alto, redefinindo para 1
O significado do erro acima é que o bash se chamava 1000 vezes
Outro exemplo de como a variável $ SHLVL rastreia seu nível de aninhamento de shell:
$ echo $SHLVL
1
$ bash
$ echo $SHLVL
2
$ exit
$ echo $SHLVL
1
Makefiledevido a como e onde (dentro de umaifneqcláusula) eu estava executando comandos que usariamvagrant ssh -c, tive que executá-lo em uma instrução usando&&. Talvez isso ajude alguém.