1. 如果把几个设置环境变量写成一个脚本,例如test.sh
export test1='aaa'export test2='bbb'然后在提示符下键入: ./test.sh 再键入echo $test1你将看不到任何东西。 原因是: 这样执行是时候是调用一个子shell,当子shell结束时,变量也就结束了生命。因此是看不到的。==================================2. 用source test.sh时,可以看到结果输出。这证明,source是在当前shell环境中执行的。==================================3. 如果把上例子写成下面的形式export test1='aaa'export test2='bbb'echo $test1echo $test2然后执行,有输出了。可以看到aaabbb但用echo $test1却什么也没有。 原因是: 执行调用一个子shell,把结果输出到终端,所以我们可以看到结果。========================4. 在提示符下键入bash, 创建一个子shell在提示符下输入如下的形式:export test1='aaa'echo $test1可以看到有输出aaa然后用exit退出子shell,回到父shellecho $test1什么也看不到。
转: