关于环境变量的一些区别
2012-11-02 15:55
162 查看
1.环境变量是干啥的?
我的理解就是在Unix或者类Unix环境下,你要在command line里面启动某个程序的话,如果没有设置环境变量,那么你就必须一直cd到该程序所在的根目录,然后再启动,这显然有时候会很不方便,没人愿意老cd,而且时间长了未必能记住具体哪个程序安装在哪里。
一种比较有效的方法就是设置环境变量,也就是把你程序的安装路径添加到环境变量中去。
设置了以后会怎样呢? 设置好了以后,你无论在什么路径下,假如你启动程序,然后程序不在该路径下,那么,系统就会去读取环境变量。通过你之前设置好的,系统就可以自动地帮你找到程序的安装路径并且启动它,这样就方便了很多。
2.bash是怎样工作的呢?
首先会检查/etc/profile文件是否存在,如果存在的话,那么就读取。
然后检查~/.bash_profile是否存在,如果存在就读取,它在每次用户登陆系统的时候都会被读取,这里我还是不是很清楚和.profile有什么区别。
~/.bash_profile又会去读取~/.bashrc文件,后者是属于某一个terminal的,也就是说你开一个terminal,就会去读取一次~/.bashrc,这样就有效地将登陆时需要的信息和子terminal所需环境分离开来了。
然后再检查主目录下面的.bash_login,也就是~/.bash_login是否存在,如果存在就读取。
这些执行完了以后就跳出$符号了,也就是command line的抬头。
当你退出shell的时候,会执行~/.bash_logout。
3.怎么设置环境变量?
这个跟不同的操作系统有关,Windows下面具体是怎么设置的不太清楚,好像就是系统设置里面,什么高级什么的就可以直接添加。
Linux和mac稍微麻烦一点点,根据上面的bash的工作原理。
我的理解就是在Unix或者类Unix环境下,你要在command line里面启动某个程序的话,如果没有设置环境变量,那么你就必须一直cd到该程序所在的根目录,然后再启动,这显然有时候会很不方便,没人愿意老cd,而且时间长了未必能记住具体哪个程序安装在哪里。
一种比较有效的方法就是设置环境变量,也就是把你程序的安装路径添加到环境变量中去。
设置了以后会怎样呢? 设置好了以后,你无论在什么路径下,假如你启动程序,然后程序不在该路径下,那么,系统就会去读取环境变量。通过你之前设置好的,系统就可以自动地帮你找到程序的安装路径并且启动它,这样就方便了很多。
2.bash是怎样工作的呢?
首先会检查/etc/profile文件是否存在,如果存在的话,那么就读取。
然后检查~/.bash_profile是否存在,如果存在就读取,它在每次用户登陆系统的时候都会被读取,这里我还是不是很清楚和.profile有什么区别。
~/.bash_profile又会去读取~/.bashrc文件,后者是属于某一个terminal的,也就是说你开一个terminal,就会去读取一次~/.bashrc,这样就有效地将登陆时需要的信息和子terminal所需环境分离开来了。
然后再检查主目录下面的.bash_login,也就是~/.bash_login是否存在,如果存在就读取。
这些执行完了以后就跳出$符号了,也就是command line的抬头。
当你退出shell的时候,会执行~/.bash_logout。
3.怎么设置环境变量?
这个跟不同的操作系统有关,Windows下面具体是怎么设置的不太清楚,好像就是系统设置里面,什么高级什么的就可以直接添加。
Linux和mac稍微麻烦一点点,根据上面的bash的工作原理。
相关文章推荐
- 一些关于path环境变量的问题
- Linux下关于环境变量的一些心得
- 一些关于path环境变量的问题
- 关于java环境变量的一些理解
- mac下一些关于环境变量的命令行
- Linux下关于环境变量的一些心得
- 环境变量——关于PATH与CLASSPATH的区别
- 没有smit (TERM not support smit) (关于环境变量的一些设定)
- ubuntu中关于环境变量的一些问题
- 关于linux环境变量的一些小知识
- 一些关于path环境变量的问题
- 关于Java环境变量设置的一些问题
- 一些关于path环境变量的问题
- 关于qt移植arm的环境变量的一些小理解
- Oracle操作的一些环境变量的设置
- jdk环境变量的配置及path、classpath的作用和区别
- 关于在产品环境中使用 MySQL 5.6 GTIDs 的一些问答
- java中关于List中ArrayList和LinkedList的一些区别
- 关于在ubuntu14.04下搭建py-faster-rcnn环境时所遇到的一些坑
- 关于安装版JDK1.8 1.7更改多个JDK环境变量 不生效