+ -
当前位置:首页 → 问答吧 → BASH变量BASH_SUBSHELL疑问

BASH变量BASH_SUBSHELL疑问

时间:2011-07-24

来源:互联网

问个概念问题
# echo $BASH_SUBSHELL
0
#(echo $BASH_SUBSHELL)
1
把 echo $BASH_SUBSHELL 写入subshell.sh
cat subshell.sh
#!/bin/bash
echo $BASH_SUBSHELL
# chmod +x subshell.sh
#./subshell.sh
0  
请问这一步为什么输出0呢,subshell.sh确实是当前bash的一个子进程啊?疑惑了

作者: 失落之岛   发布时间: 2011-07-24

回复 失落之岛


我理解的是,子shell的那个$BASH_SUBSHELL这个环境变量是它的父SHELL传进去的!

$BASH_SUBSHELL
这个变量将提醒 subshell 的层次,这是一个在version3 才被添加到Bash 中的新特性.

作者: yuloveban   发布时间: 2011-07-24