Nivel de shell identifica el nivel de sub-shell en un shell anidado
Bash man - Shell Level SHLVL
SHLVL: se incrementa en uno cada vez que se inicia una nueva instancia de Bash.
- Esto pretende ser un recuento de cuán profundamente están anidados sus shells de Bash.
Como puedes ver aqui
Cuando se bash
ejecuta, el nivel de shell bash es más alto en 1
La siguiente llamada recursiva a bash:
$ echo "bash haha" > haha
$ bash haha
Recibí este mensaje periódicamente:
bash: advertencia: nivel de shell (1000) demasiado alto, restableciendo a 1
El significado del error anterior es que bash se llamó 1000 veces
Otro ejemplo de cómo la variable $ SHLVL rastrea su nivel de anidación de shell:
$ echo $SHLVL
1
$ bash
$ echo $SHLVL
2
$ exit
$ echo $SHLVL
1
Makefile
debido a cómo y dónde (dentro de unaifneq
cláusula) estaba ejecutando comandos que usaríavagrant ssh -c
, tuve que ejecutarlo dentro de una declaración usando&&
. Quizás esto ayude a alguien.