环境变量总结

环境变量是什么:

环境变量是操作系统中指定操作系统或者应用程序运行的一些参数,可以看作是系统的全局变量。可以分为系统级变量和用户级变量。
当要求系统运行一个程序却没有指定完整的路径时,首先会在当前目录下寻找相应的可执行文件,当没有符合条件的文件时,会到path指定的路径下寻找。
当程序运行需要一些参数时,可以通过环境变量将需要的参数传递进去。

环境变量有什么用:

解决未指定路径的应用程序运行。
解决双系统下软件共用的问题:当一些软件运行时需要写入注册表的文件时,可以通过环境变量更改完成共用,具体见具体的文件。
设置一些软件或者体系的运行环境时。

Ubuntu环境变量设置

一些有关环境变量的命令

  1. echo 显示某个环境变量值echo $PATH
  2. export 设置一个新的环境变量export HELLO=hello (可以无引号)
  3. env 显示所有环境变量
  4. set 显示本地定义的shell变量
  5. unset 清除环境变量unset HELLO
  6. readonly 设置只读环境变量readonly HELLO

2. Linux的变量种类

按变量的生存周期来划分,Linux变量可分为两类:
- 永久的:需要修改配置文件,变量永久生效。
- 临时的:使用export命令声明即可,变量在关闭shell时失效。

设置变量的三种方法

  • 在/etc/profile文件中添加变量【对 所有用户 生效 永久的

    用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是永久的;例如:编辑/etc/profile文件,添加CLASSPATH变量

        vi /etc/profile
        export CLASSPATH=./JAVA\_HOME/lib;$JAVA\_HOME/jre/lib
    

    修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。

  • 在用户目录下的.bash_profile文件中增加变量【对 单一用户 生效 永久的

    用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是永久的。例如:编辑guok用户目录(/home/guok)下的.bash_profile

    $ vi /home/guok/.bash.profile
    export CLASSPATH=./JAVA\_HOME/lib;$JAVA\_HOME/jre/lib
    

    注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。

  • 直接运行export命令定义变量【只对 当前shell(BASH) 有效 临时的

    在shell的命令行下直接使用[export 变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

环境变量的查看

  • 使用echo命令查看单个环境变量。例如:echo $PATH
  • 使用env查看所有环境变量。
  • 使用set查看所有本地定义的环境变量,unset可以删除指定的环境变量。

Ubuntu下都有那些软件需要设置环境变量?

PATH:指定命令的搜索路径
HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
HISTSIZE:指保存历史命令记录的条数。
LOGNAME:指当前用户的登录名。
HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
SHELL:指当前用户用的是哪种Shell。
LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
MAIL:指当前用户的邮件存放目录。
PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
PS2:附属提示符,默认是>。

windows环境变量设置

有两种方法可以设置windows的环境变量:

  1. 可以通过命令行set的方式设定,具体的命令有:
    • set 打印所有的环境变量
    • set 变量名 = 清空某个环境变量
    • set 变量名 = 内容 设置某个变量内容
    • set 变量名 = %变量名%内容 追加变量内容
  2. 可以在窗口修改

第一种修改方法仅在当前窗口内有效。
第二种修改方法全局生效。

都有那些环境变量?

%ALLUSERSPROFILE% 局部 返回所有用户配置文件的位置。
%APPDATA% 局部 返回默认情况下应用程序存储数据的位置。
%CD% 局部 返回当前目录字符串。
%CMDCMDLINE% 局部 返回用来启动当前的 Cmd.exe 的准确命令行。
%CMDEXTVERSION% 系统 返回当前的命令处理程序扩展的版本号。
%COMPUTERNAME% 系统 返回计算机的名称。
%COMSPEC% 系统 返回命令行解释器可执行程序的准确路径。
%DATE% 系统 返回当前日期。
%ERRORLEVEL% 系统 返回最近使用过的命令的错误代码。通常用非零值表示错误。
%HOMEDRIVE% 系统 返回连接到用户主目录的本地工作站驱动器号。基于主目录值的设置。用户主目录是在本地用户和组中指定的。
%HOMEPATH% 系统 返回用户主目录的完整路径。基于主目录值的设置。用户主目录是在本地用户和组中指定的。
%HOMESHARE% 系统 返回用户的共享主目录的网络路径。基于主目录值的设置。用户主目录是在本地用户和组中指定的。
%LOGONSEVER% 局部 返回验证当前登录会话的域控制器的名称。
%NUMBER\_OF\_PROCESSORS% 系统 指定安装在计算机上的处理器的数目。
%OS% 系统 返回操作系统的名称。Windows 2000 将操作系统显示为 Windows_NT。
%PATH% 系统 指定可执行文件的搜索路径。
%PATHEXT% 系统 返回操作系统认为可执行的文件扩展名的列表。
%PROCESSOR\_ARCHITECTURE% 系统 返回处理器的芯片体系结构。值: x86,IA64。
%PROCESSOR\_IDENTFIER% 系统 返回处理器说明。
%PROCESSOR\_LEVEL% 系统 返回计算机上安装的处理器的型号。
%PROCESSOR\_REVISION% 系统 返回处理器修订号的系统变量。
%PROMPT% 局部 返回当前解释程序的命令提示符设置。由 Cmd.exe 生成。
%RANDOM% 系统 返回 0 到 32767 之间的任意十进制数字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系统 返回包含 Windows XP 根目录(即系统根目录)的驱动器。
%SYSTEMROOT% 系统 返回 Windows XP 根目录的位置。
%TEMP% and %TMP% 系统和用户 返回对当前登录用户可用的应用程序所使用的默认临时目录。有些应用程序需要 TEMP,而其它应用程序则需要 TMP。
%TIME% 系统 返回当前时间。
%USERDOMAIN% 局部 返回包含用户帐户的域的名称。
%USERNAME% 局部 返回当前登录的用户的名称。
%UserProfile% 局部 返回当前用户的配置文件的位置。
%WINDIR% 系统 返回操作系统目录的位置。

Java环境变量的设置

Java都需要设置那些环境变量?

JAVA\_HOME 指明JDK安装路径.(在安装好java之后就该配置)
Path使得系统可以在任何路径下识别java命令.(如果你采用命令形式编译java源码,设置这个很方便)
classpath为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别它.

Java在windows和linux下配置环境变量

windows:系统设置 分别设置这三项。

Linux:

  1. 修改/etc/profile文件
    如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。

    • 用文本编辑器打开/etc/profile
    • 在profile文件末尾加入:

      export JAVA\_HOME=/usr/share/jdk1.6.0\_14
      export PATH=$JAVA\_HOME/bin:$PATH
      export CLASSPATH=.:$JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar
      
    • 重新登录

    注解
    1. 你要将 /usr/share/jdk1.6.0_14改为你的jdk安装目录
    2. linux下用冒号:来分隔路径
    3. PATH/ CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值
    在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种常见的错误。
    4. CLASSPATH中当前目录.不能丢,把当前目录丢掉也是常见的错误。
    5. export是把这三个变量导出为全局变量。
    6. 大小写必须严格区分。

  2. 修改.bash\_profile文件

    这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。

    • 用文本编辑器打开用户目录下的.bash_profile文件
    • 在.bash_profile文件末尾加入:

      export JAVA\_HOME=/usr/share/jdk1.6.0\_14
      export PATH=$JAVA\_HOME/bin:$PATH
      export CLASSPATH=.:$JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar
      
    • 重新登录

  3. 直接在shell下设置变量

    不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。

    • 只需在shell终端执行下列命令:

      export JAVA\_HOME=/usr/share/jdk1.6.0\_14
      export PATH=$JAVA\_HOME/bin:$PATH
      export CLASSPATH=.:$JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar
      

引用来源

http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html
http://blog.chinaunix.net/uid-27135166-id-3304153.html
http://www.jb51.net/LINUXjishu/77524.html
http://blog.chinaunix.net/uid-27135166-id-3304153.html
http://blog.csdn.net/fb281906011/article/details/8057672
http://jingyan.baidu.com/article/4ae03de320d99f3eff9e6bfd.html

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值