前言

安装完软件必要添加环境变量。指令很少,然而长时间不写就会不自信:我写的对吗?于是百度开始,于是发现又是各有千秋。好吧,好记星不如烂笔头。当然,最重要的是,百度出来的都他妈的是如何添加环境变量,只字不提删除和修改。显然,都是像我一样的外门汉做笔记的,用啥写啥。

增加环境变量

百度出来的都是修改/etc/profile文件,添加export var=value。我也没认真去看linux的指令的书,不过发现一个不错的做法。

/etc/profile.d/下有一堆sh脚本,这些脚本就是系统初始化的环境变量来源。

[root@bogon ~]# ll /etc/profile.d/
总用量 92
-rw-r--r-- 1 root root 771 8月 3 00:15 256term.csh
-rw-r--r-- 1 root root 841 8月 3 00:15 256term.sh
-rw-r--r--. 1 root root 1298 12月 1 2015 abrt-console-notification.sh
-rw-r--r--. 1 root root 660 6月 10 2014 bash_completion.sh
-rw-r--r--. 1 root root 196 4月 29 2015 colorgrep.csh
-rw-r--r--. 1 root root 201 4月 29 2015 colorgrep.sh
-rw-r--r-- 1 root root 1741 2月 16 2016 colorls.csh
-rw-r--r-- 1 root root 1609 2月 16 2016 colorls.sh
-rwxr-xr-x 1 root root 198 9月 19 20:58 java.sh
-rw-r--r-- 1 root root 1706 8月 3 00:15 lang.csh
-rw-r--r-- 1 root root 2703 8月 3 00:15 lang.sh
-rw-r--r--. 1 root root 123 7月 31 2015 less.csh
-rw-r--r--. 1 root root 121 7月 31 2015 less.sh
-rw-r--r--. 1 root root 1157 11月 23 2015 PackageKit.sh
-rw-r--r-- 1 root root 990 6月 10 2014 qt.csh
-rw-r--r-- 1 root root 313 6月 30 2012 qt-graphicssystem.csh
-rw-r--r-- 1 root root 379 6月 13 2012 qt-graphicssystem.sh
-rw-r--r-- 1 root root 919 6月 10 2014 qt.sh
-rw-r--r--. 1 root root 105 6月 10 2014 vim.csh
-rw-r--r--. 1 root root 269 6月 10 2014 vim.sh
-rw-r--r--. 1 root root 1940 11月 22 2015 vte.sh
-rw-r--r--. 1 root root 164 1月 28 2014 which2.csh
-rw-r--r--. 1 root root 169 1月 28 2014 which2.sh

每当系统重启的时候,系统会加载这些文件,进而形成环境变量。那么,我们自然可以在里面增加一个文件,比如java.sh。

#!/bin/bash
JAVA_HOME=/usr/java/jdk1.8.0_102
JRE_HOME=$JAVA_HOME/jre
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME JRE_HOME CLASSPATH

重启即可生效,如果立即生效:

source /etc/profile.d/java.sh

删除和修改

说道删除和修改,首先可以知道unset和export的用法。在当前bash中生效。增加一个环境变量:

export PATH='/usr/bin'

清空一个环境变量:

unset PATH

如果持久化的修改必然要对应的文件中,就是上述的文件,这是对所有用户都生效的。

对单一用户生效(永久的): 用户目录下的.bash_profile文件中增加变量

vim ~/.bash_profile

linux centos中添加删除修改环境变量,设置java环境变量的更多相关文章

  1. 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加|删除|修改的记录数

    开篇语 在这篇日志中 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架 我介绍到了包级别的日志管理框架,那么这个主要是针对包这一个层级的 Log 信息,包括包开始执行和结束时间,以 ...

  2. Linux中如何添加/删除FTP用户并设置权限

    在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被设置用户名为test.被限制路径为/home/test 2.创建建用户:在root用户下:   user ...

  3. Linux中如何设置java环境变量

    这里介绍Linux下如何设置java环境变量. 工具/原料 Linux java环境变量 方法/步骤 1 查看java的安装路径   查看java执行路径   配置java环境变量   java的安装 ...

  4. 在linux中添加ftp用户,并设置相应的权限

    在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...

  5. 向linux内核中添加外部中断驱动模块

    本文主要介绍外部中断驱动模块的编写,包括:1.linux模块的框架及混杂设备的注册.卸载.操作函数集.2.中断的申请及释放.3.等待队列的使用.4.工作队列的使用.5.定时器的使用.6.向linux内 ...

  6. linux中添加ftp用户,并设置相应的权限

    在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...

  7. SQL语句添加删除修改字段及一些表与字段的基本操作

    用SQL语句添加删除修改字段 1.增加字段     alter table docdsp    add dspcode char(200)2.删除字段     ALTER TABLE table_NA ...

  8. JavaScript学习 - 基础(八) - DOM 节点 添加/删除/修改/属性值操作

    html代码: <!--添加/删除/修改 --> <div id="a1"> <button id="a2" onclick=&q ...

  9. linux/Centos下查看和修改网卡Mac地址(ifconfig命令)

    本文转载自http://www.169it.com/article/14360294838474691537.html linux/Centos下查看网卡Mac地址,输入命令: #ifconfig - ...

随机推荐

  1. HTML URL地址解析

    通过JavaScript的location对象,可获取URL中的协议.主机名.端口.锚点.查询参数等信息. 示例 URL:http://www.akmsg.com/WebDemo/URLParsing ...

  2. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  3. Asp.net Core中使用Session

    前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...

  4. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  5. ASP.NET MVC关于Ajax以及Jquery的无限级联动

    ---恢复内容开始--- 第一次发表博文,发表博文的目的是巩固自己的技术,也能够共享给大家.写的不好的地方,希望大家多给给意见.老司机勿喷 数据结构() NewsTypeId 新闻ID, NewsTy ...

  6. arcgis api for js入门开发系列八聚合效果(含源代码)

    上一篇实现了demo的图层控制模块,本篇新增聚合效果,截图如下(源代码见文章底部): 聚合效果实现的思路如下: 1.map.html引用聚合包,项目已经包含进来了的聚合文件夹: <script ...

  7. mysql 写入优化

    1 主从分离 从表读取,主表可以去掉索引 2 先写入到文件或redis,定时刷新到库 3 用nginx 4 分库 分表 每个库表的数据总量少了 插入会快一点 5 最大限度减少查库的次数 6 一条sql ...

  8. 打开程序总是会提示“Enter password to unlock your login keyring” ,如何成功关掉?

    p { margin-bottom: 0.1in; line-height: 120% } 一.一开始我是按照网友所说的 : rm -f ~/.gnome2/keyrings/login.keyrin ...

  9. Linux配置防火墙 开启80端口的方法

    命令行输入: vi /etc/sysconfig/iptables 将 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT ...

  10. ASP.NET Core 缓存技术 及 Nginx 缓存配置

    前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx ...