Linux中PATH、CLASSPATH等环境变量配置格式详解

代码格式详解

看几个例子,

1 #set java environment
2 export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79
3 export CLASSPATH=.:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar
4 export PATH=$JAVA_HOME/bin:$PATH
5
6 #set hadoop environment
7 export HADOOP_HOME=/opt/hadoop-2.6.5
8 export PATH=${HADOOP_HOME}/bin:$PATH
9 export CLASSPATH=.:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.5.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.5.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar:$CLASSPATH

第3行:

export CLASSPATH=.:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar

(1) 点.表示当前路径

(2) 冒号:是分隔符

(3) 这句的意思就是,把当前目录 和 ${JAVA_HOME}/lib/tools.jar 和 ${JAVA_HOME}/lib/dt.jar 设置为CLASSPATH环境变量。

第4行:

export PATH=$JAVA_HOME/bin:$PATH

(4) 这句的意思就是,把$JAVA_HOME/bin 和 $PATH设置为PATH环境变量,由于这里加上了原来的PATH,所以相当于在原来的PATH上增加了$JAVA_HOME/bin 。

产生的疑惑

1. 为什么第3行的CLASSPATH不加上自身,但第9行的要加上自身$CLASSPATH ?但每次设置PATH时都要加上自身$PATH ?

答:因为CLASSPATH环境变量一开始就是空的,所以第4行可以不加上它自身,但是第9行如果不加$CLASSPATH的话,就会把第4行设置的CLASSPATH给覆盖掉。但是PATH一开始并不是空的,系统初始的时候PATH中就已经有值了(一些系统命令的保存目录),所以每次设置的时候都要加上它自身$PATH。

2. 为什么设置PATH的时候不加上当前目录. ?

(1) 如果在 PATH 中加入本目录(.)后,确实我们就能够在指令所在目录进行指令的执行了。 但是由于你的工作目录并非固定(常常会使用 cd 来切换到不同的目录), 因此能够执行的指令会有变动(因为每个目录底下的可执行文件都不相同嘛!),这对使用者来说并非好事。

(2) 主要是出于安全的考虑,由于系统默认是允许所有人在/tmp下写入任何文件的,万一有居心不良的用户或者黑客入侵到计算机,并在/tmp下面埋下木马,名字为ls,当用户用root身份登录后,到/tmp目录执行ls就会有意想不到的危险(因为你把当前目录加进了PATH,如果在 PATH 定义的目录中含有多个文件名为 ls 的可执行文件,那么先搜寻到的同名指令先被执行!),所以默认不把当前路径’’."加入PATH中,也不建议用户自己添加进去。

参考:《鸟哥的Linux私房菜_基础学习篇》(第四版)

原文地址:https://www.cnblogs.com/FengZeng666/p/12580401.html

时间: 2024-10-04 22:23:00

Linux中PATH、CLASSPATH等环境变量配置格式详解的相关文章

Windows中 RabbitMQ安装与环境变量配置

RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议.1:安装RabbitMQ需要先安装Erlang语言开发包.下载地址 http://www.erlang.org/download.html 在win7下安装Erlang最好默认安装.      设置环境变量ERLANG_HOME= C:\Program Files\erlx.x.x       添加到PATH  %ERLANG_HOME%\bin; 2:安装Rabbit

Linux下配置Node环境变量及问题详解

这是之前在Linux下配置Node环境变量时踩过的坑,今天又有小伙伴质询这个问题,因此记录下来,不仅是给新童鞋们一些参考,也方便日后查阅 在这之前,相信都已经安装好了,没安装的可以查看博主另一篇文章  ---------http://www.cnblogs.com/Halifa/p/5772263.html 配置Node环境变量有永久生效和当时生效几种方式,这里只讲解永久生效 进入主题: 修改/etc/profile文件,在末尾添加以下内容 export NODE_HOME=/usr/local

Linux中如何设置java环境变量

这里介绍Linux下如何设置java环境变量. 工具/原料 Linux java环境变量 方法/步骤 1 查看java的安装路径   查看java执行路径   配置java环境变量   java的安装路径和执行路径   注意这里的JAVA_HOME后面一定要带上bin路径,路径设置完成一定要用 export输出,注意export单词不要写错了   设置环境变量后使用java的v参数测试,还是失败,因为没有执行source命令   环境变量修改后执行source命令,使得配置生效   运行sour

【linux】jdk安装及环境变量配置

登录linux后,切换目录到 /usr/local cd /user/local 在/usr/local目录新建文件夹java用于存放jdk文件 mkdir java 在文件夹java中下载jdk文件(jdk网络路径可以根据自己需要替换就行) 先切换目录至java cd java 在线下载jdk wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie&q

Linux中crontab的坑爹环境变量问题

手动在CentOS中执行sh脚本,调用java程序,一切正常: 将该sh加入crontab中定时调度之后,挂了,完全没有执行到的感觉啊!!! 查看crontab执行日志: cat /var/log/cron 有执行记录,擦擦擦~~~ 难道用crontab调用执行会报错,打印日志先: crontab -e 40 10 * * * /home/job.sh 2>>/home/log 再调度一次,查看日志: cat /home/log 还真报错了: Exception in thread "

Linux安装jdk 8和环境变量配置

1.下载jdk 地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.将刚刚下载的文件解压到/usr/lib/jvm目录之下,假设没有该目录.能够新建目录 cp -r /home/xx/下载/jdk1.8.0_25 /usr/lib/jvm 3.配置环境变量 敲入命令: gedit ~/.bashrc 在最后加入上: 1 2 3 4 export JAVA_HOME=/us

maven3.5.0在win10中的安装及环境变量配置

1.maven的下载地址http://maven.apache.org/download.cgi.如下图,下载apache-maven-3.5.0-bin.zip 2.解压缩到自己指定的文件下,maven目录如下 3.配置环境变量 在配置maven之前,先安装并配置好jdk,maven3.5.0要求jdk1.7及以上版本.我使用的是jdk1.8.0,下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html (

Linux安装jdk 8以及环境变量配置

1.下载jdk 地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.将刚刚下载的文件解压到/usr/lib/jvm文件夹之下,如果没有该文件夹,可以新建文件夹 cp -r /home/xx/下载/jdk1.8.0_25 /usr/lib/jvm 3.配置环境变量 敲入命令: gedit ~/.bashrc 在最后添加上: 1 2 3 4 export JAVA_HOME=

Linux下jdk安装和环境变量配置

首先下载jdk,通过以下网址进行下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载后将相应tar包上传,例如/home/java 使用命令 得到 jdk1.8.0_151 tar -zxvf jdk-8u151-linux-x64.tar.gz 修改 环境变量 命令 vim /etc/profile 将以下脚本贴入 profile文件中 JAVA_HOME=/home/