
这里圆括号会产生子shell,那父shell中的变量outervar为什么能在圆括号里的子shell中显示出来,我并没有把它设置成环境变量啊?
达人告知,谢谢!!!
另外,我在终端窗口中输入echo $$,得到PID是4084,输入echo $BASH_SUBSHELL,得到0;然后输入bash回车,再输入echo $$,得到4086,输入echo $BASH_SUBSHELL,还是为0。
输入exit命令后,我采用下面的测试命令:
echo $$;echo BASH_SUBSHELL;(echo $$;echo BASH_SUBSHELL;)
分别输出:
4084
0
4084
1
为什么前面是PID不一样,后面是BASH_SUBSHELL不一样?
到底PID是4086的是子shell,还是BASH_SUBSHELL是1的是子shell?