转载

Linux-env

Linux中的环境变量

主要参考的是 这个文章

环境变量的分类

在shell中的环境变量主要有一下几种: 内部变量,环境变量,用户变量

注意内部变量的特殊使用方式:

   表示方法     描述    $n     $1 表示第一个参数,$2 表示第二个参数 ...    $#     命令行参数的个数    $0     当前程序的名称    $?     前一个命令或函数的返回码    $*     以"参数1 参数2 ... " 形式保存所有参数    $@     以"参数1" "参数2" ... 形式保存所有参数    $$     本程序的(进程ID号)PID 

每个应用都有自己的环境变量,比如在一个terminal中 export name=golang ,之后在新开一个终端,再echo $name就是没有信息的,新开的终端相当于是一个新的进程了。

set、env、export区别

env命令显示当前用户的变量;

set命令可以查看所有的环境变量,包括环境变量与用户自定义的变量;

export命令可以将自定义的变量转化成环境变量。

相关的文件

一般会习惯设置一些自定义的环境变量,比如说像JVM JAVA_HOME 或者像GOPATH等等,这些环境变量一般确定好,就不再发生变化,因此希望每次打开一个新的terminal的时候,或者是系统启动的时候,就自动把这些变量存储进来。

以ubuntu为例,列举一下相关的配置文件

  • 方法1:修改/etc/profile 文件 ,在这个文件的最后面添加所需的环境变量,重启系统之后,文件中的内容会生效。
  • 方法2:修改 .bashrc文件,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc就可以了,而不像第一种方法给所有用户权限,这样每次该用户在重新登录的时候,对应的用户目录下的.bashrc文件就会被执行。
  • 方法3:直接在shell中修改,仅仅针对于当前shell有效,在shell发生变化之后,当前所声明的这些环境变量就无效了。

参考资料

ubuntu java 环境变量配置 http://www.cnblogs.com/BigIdiot/archive/2012/03/26/2417547.html

linux 中的环境变量 http://www.cnblogs.com/BigIdiot/archive/2012/03/26/2417547.html

原文  http://wangzhezhe.github.io/blog/2016/05/08/linux-env/
正文到此结束
Loading...