我怎么知道我是否在儿童贝壳中

时间:2017-06-04 07:51:29

标签: bash shell

如果我正在使用bash并在子shell中键入bash我需要输入exit以返回原始父shell。如果我忘记了我应该检查哪一个?

2 个答案:

答案 0 :(得分:9)

使用SHLVL环境变量。

man bash:

  

SHLVL :每次启动bash实例时加1。

$ echo "$SHLV"
1

$ bash

$ echo "$SHLV"
2

$ exit

$ echo "$SHLV"
1

答案 1 :(得分:3)

这是一个较差的答案,但您也可以使用pstree:

$ pstree -s $BASHPID
systemd───systemd───gnome-terminal-───bash───pstree
$ bash
$ pstree -s $BASHPID
systemd───systemd───gnome-terminal-───bash───bash───pstree