Chinaunix首页 | 论坛 | 博客
  • 博客访问: 222458
  • 博文数量: 22
  • 博客积分: 847
  • 博客等级: 准尉
  • 技术积分: 325
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-02 11:08
文章存档

2012年(9)

2011年(8)

2010年(5)

我的朋友

分类: LINUX

2012-11-08 14:55:41

Bash编程,或者在bashrc中,我们经常会通过export VAR=XXXX的形式来设置环境变量。其实在shell中,也可以直接VAR=XXX的形式来设置。在shell中执行这两个语句,都会将VAR设置为XXX,你可以通过echo来验证,那么这两个又有什么区别呢?

得先看看export命令,man手册上说是设置变量对应的export的属性。export属性是什么?你可以简单的认为export属性决定该进程创建的子进程是否会继承该变量。你可以自己在shell中试试。设置了export属性后,子进程会继承该变量,否则不继承。

另外,有export属性的变量是环境变量,可以在printenv中找到。而没有export属性的变量是普通的shell变量,不是环境变量,所以不会在printenv中。

一个问题,有办法实时的,全局的设置环境变量吗?搜了一下,windows下提供了setx.exe,Linux下没有找到。不过如果修改.bashrc或/etc/profile,再重启shell也算的话,那就解决问题了。能不重启shell实现吗?能,source .bashrc 或者/etc/profile实现。能不source实现吗?。。。。。这个要求有点变态。。。 Over

参考:

  • man export
阅读(1757) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~