Bash:有多少嵌套会话深?

tet*_*s11 9 bash environment-variables

假设我启动了一个bashshell,
...然后bash是该 shell 中的
另一个bash会话,
...然后bash是该会话中的另一个会话,...然后是该会话中的另一个会话,
...(次 N)等

要退出所有 N 个会话,我必须键入exitN 次。

如何找出我在任何给定 bash 会话中嵌套的深度?

理想情况下,我正在寻找一些类似于$STY屏幕会话的环境变量。

hee*_*ayl 16

使用SHLVL. 来自man bash:

SHLVL  Incremented by one each time an instance of bash is started.
Run Code Online (Sandbox Code Playgroud)

例子 :

$ echo $SHLVL
1
$ bash
$ echo $SHLVL
2
$ bash
$ echo $SHLVL
3
Run Code Online (Sandbox Code Playgroud)