Windows之系统环境变量
配置操作:
计算机→属性→高级系统设置→高级→环境变量
系统变量→新建:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_121
系统变量→Path→编辑:在变量值最后输入 :%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
系统变量→新建:CLASSPATH 变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
检测:java -version
C:\Program Files\Java\jdk1.8.0_121是本人电脑安装的JDK路径。
原理解释:
Path:当用javac、java等命令编译、运行Java程序时,操作系统需要查找javac.exe、java.exe这些可执行文件的位置,然后调用这些可执行程序对Java程序进行对应的操作。我们开发程序代码之后,通常在代码文件夹所处的路径编译代码文件,操作系统会在用户所在当前路径和系统环境变量这两个地方查找对应的Java可执行文件,但是编译、运行Java代码的可执行文件所在的路径(即我们安装JDK的bin所在的路径)通常跟我们编写的代码是不再同一个文件夹目录下的,所以只能将其添加到系统的环境变量中,才能够找到对应的可执行文件,从而顺利编译、运行我们的代码。
JAVA_HOME:直接在Path中编辑JDK安装的绝对路径,对大多数Java应用程序以及我们自己编写的Java代码都是可以正常编译、运行的,但是如果我们对本机安装的JDK进行版本修改或者升级,甚至对其安装路径进行改动,我们就需要更改Path中相应的内容。如果不小心误删了其它部分,很有可能导致我们的操作系统无法正常运行甚至崩溃,因此将bin之前的路径另外赋值给JAVA_HOME是很有必要的。
CLASSPATH:指定程序中使用的.class文件的位置,我们在编写程序代码时经常会引用JDK封装好的类,这些类文件都在上文提到的两个文件夹下面。如果程序中调用我们前面自己编写的Java类,就需要我们在当前所在目录文件夹下面寻找,此时需要我们加上一个 . 来指定同时可以在当前目录下查找.class文件。
Linux之系统环境变量
如果我们想让自己的程序在执行时也不需要带上路径(即,直接使用test)应该怎样做?
方法1:
将要执行的文件拷贝到系统的默认路径下(系统执行命令会在默认路径下寻找)。
命令:sudo cp 文件名 /usr/bin/
但是,我们不推荐这种方法,因为我们自己的程序未经过测试会污染操作系统的指令池。
这种方法之所以可以实现,是因为系统的环境变量会帮助编译器查找对应的文件。
方法2:
直接将当前路径添加到环境变量里。
命令:export PATH=$PATH:当前路径//注意分割路径使用的是':'
在Linux中的bash(命令行)是可以定义变量的。Xshell登录的时候,系统会将.bash_profile执行一次,将环境变量放置在当前的shell中,所以一旦启动成功系统就会在内存中维护一个环境变量$PATH。
常用环境变量查询方法:
echo $PATH
说明--PATH:指定命令的搜索路径
echo $HOME
说明--HOME:指定用户的主工作路径(即,用户登录到Linux系统中的默认路径,用户的家目录)
echo $LOGNAME
说明--LOGNAME:当前登录的用户名
echo $HOSTNAME
说明--HOSTNAME:主机名
echo $SHELL
说明--SHELL:当前Shell,它的值通常是/bin/bash
Linux系统添加环境变量方法:
PATH 值是一系列目录,当执行命令时,linux就在这些目录下查找,其格式为:
PATH=$PATH:<PATH1>:<PATH2>:<PATH3>:------:<PATHN> 中间以冒号隔开
查看PATH:
echo $PATH
添加 PATH 有三种方法:
方法1:直接在命令行添加
仅对当前会话有效,关闭失效
PATH=$PATH:/usr/abc/bin
方法2:在 profile中设置 PATH
需要用 vi(vim)编辑器编辑
vim /etc/profile
按字母 i,vim 编辑器从命令模式转为输入模式,然后接下来输入要添加的路径
export PATH="$PATH:/usr/abc/bin"
按 esc 转换为 底行模式
输入 : 再键入 wq 回车,再输入命令
source /etc/profile # 使其生效
echo $PATH # 测试
方法3:在当前用户的profile中设置 PATH?
与方法2 所不同的是方法3 是在 .bash_profile 中修改
vim ~/.bash_profile
PATH=$PATH:/usr/abc/bin
保存,退出,并执行命令:
source ~/.bash_profile
(完)