linux中的export和source的用法

18 篇文章 0 订阅
13 篇文章 0 订阅

总结

export修饰的变量在当前进程及其子进程中有效 
source执行过的脚本,会将脚本中定义的变量放在当前进程中

 

è¿éåå¾çæè¿°

这两种有什么区别呢? 
export B=2 ,会对自己所在的 shell 进程及其子进程有效,shell 进程即 linux 窗口 
A=1,只对自己所在的shell进程有效。 
我们来看几个例子:

  • 案例一 

è¿éåå¾çæè¿°

注意:需要给文件更改执行权限chmod 777 a.sh 

è¿éåå¾çæè¿°

案例二(a.shb.sh都要给可执行)

è¿éåå¾çæè¿°

è¿éåå¾çæè¿°

è¿éåå¾çæè¿°

我们在客户端执行export A=2,在a.shb.sh中都能访问到,但是在a.sh中定义了B=3b.sh中不能访问到B的值。

  • 案例三,将案例二的a.sh中的Bexport修饰,再去执行a.sh 

è¿éåå¾çæè¿°

export修饰B的值,可以在b.sh中输出它的值,因为./b.sh命令在a.sh中执行的,那么b.sh是a.sh的子进程,export的值在当前进程及其子进程中有效 

è¿éåå¾çæè¿°

直接在客户端输出a.shexportB的值,发现没有任何输出,这是因为a.sh是当前客户端的子进程,父进程不能访问子进程中的值

è¿éåå¾çæè¿°

使用sourcea.sh中定义的变量导入客户端 
è¿éåå¾çæè¿°

总结

export修饰的变量在当前进程及其子进程中有效 
source执行过的脚本,会将脚本中定义的变量放在当前进程中

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值