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 $test1
echo $test2
然后执行,有输出了。可以看到
aaa
bbb
但用echo $test1却什么也没有。 原因是: 执行调用一个子shell,把结果输出到终端,所以我们可以看到结果。
========================
4. 在提示符下键入bash, 创建一个子shell
在提示符下输入如下的形式:
export test1='aaa'
echo $test1
可以看到有输出aaa
然后用exit退出子shell,回到父shell
echo $test1
什么也看不到。
阅读(5067) | 评论(0) | 转发(0) |