全部博文(22)
分类: 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
参考: