linux:export, source命令

本文详细解释了在Shell脚本中定义和使用环境变量的方法,包括如何通过不同方式执行脚本,以及这些方式如何影响变量的作用域。文章还探讨了子shell与父shell间变量传递的区别。

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
什么也看不到。

 

转:http://blog.sina.com.cn/s/blog_498a6eeb0100d8ol.html

转载于:https://www.cnblogs.com/perfy/archive/2012/07/11/2586557.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值