shell变量和子shell的问题请教
白虹李李 2010-07-23 11:14:43 按照书上说,使用()将shell命令扩起来,会产生一个子shell,命令在子shell中执行。
那么一个shell变量,应该在子shell中无效吧?
$>test=true
$>echo $test
true
$>(echo $test;exit 0)
true
$>sh
>echo $test
>
如果显式的启动一个子shell,那么在没有export前,显示test为空,但通过()方式启动,却显示为定义的true。
为什么呢?
使用()方式启动的子shell和显式启动的有什么不同?
请高手指点。