文档章节

Linux中修改环境变量

Java小咖咖
 Java小咖咖
发布于 2017/04/25 17:58
字数 1095
阅读 4
收藏 0

环境变量是程序在执行命令时,会去查找的目录,找不到时,会提示command not found,想要执行,只能到该命令所在的目录下执行,显得很是麻烦,所以我们就可以配置环境变量来方便我们的操作。

在Linux中查看环境变量可以使用 env,也可以使用set

这里我想说的是PATH变量的修改,输入echo $PATH显示如下:

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/jdk1.7.0_51/bin:/usr/local/jdk1.7.0_51/bin
这里我想删掉关于Java环境的配置,我的操作如下:

path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PATH=${path}

echo ${PATH}发现改回来了

感觉这有点取巧,于是便翻了下鸟哥的私房菜,里边提供了更加简单的方法:

范例一:先让小写的 path 自订变数设定的与 PATH 内容相同
[root@www ~]# path=${PATH}

[root@www ~]# echo $path
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:
/usr/sbin:/usr/bin:/root/bin  <==这两行其实是同一行啦!

范例二:假设我不喜欢 kerberos,所以要将前两个目录删除掉,如何显示?
[root@www ~]# echo ${path#/*kerberos/bin:}
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

说明如下:

${variable#/*kerberos/bin:}
   上面的特殊字体部分是关键字!用在这种删除模式所必须存在的

${variable#/*kerberos/bin:}
   这就是原本的变数名称,以上面范例二来说,这里就填写 path 这个‘变数名称’啦!

${variable#/*kerberos/bin:}
   这是重点!代表‘从变数内容的最前面开始向右删除’,且仅删除最短的那个

${variable#/*kerberos/bin:}
   代表要被删除的部分,由于 # 代表由前面开始删除,所以这里便由开始的 / 写起。
   需要注意的是,我们还可以透过万用字元 * 来取代 0 到无穷多个任意字元

   以上面范例二的结果来看, path 这个变数被删除的内容如下所示:

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:
/usr/sbin:/usr/bin:/root/bin  <==这两行其实是同一行啦!

 

总结起来:如下:

变数设定方式 说明
${变数#关键字}
${变数##关键字}
若变数内容从头开始的资料符合‘关键字’,则将符合的最短资料删除
若变数内容从头开始的资料符合‘关键字’,则将符合的最长资料删除
${变数%关键字}
${变数%%关键字}
若变数内容从尾向前的资料符合‘关键字’,则将符合的最短资料删除
若变数内容从尾向前的资料符合‘关键字’,则将符合的最长资料删除
${变数/旧字串/新字串}
${变数//旧字串/新字串}
若变数内容符合‘旧字串’则‘第一个旧字串会被新字串取代’
若变数内容符合‘旧字串’则‘全部的旧字串会被新字串取代’

 

关于环境变量的其他配置,参考如下:转载自:http://www.cnblogs.com/hust-chenming/p/4943268.html

查看PATH:echo $PATH
以添加mongodb server为列
修改方法一:
export PATH=/usr/local/mongodb/bin:$PATH
//配置完后可以通过echo $PATH查看配置结果。
生效方法:立即生效
有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置
用户局限:仅对当前用户

 

修改方法二:
通过修改.bashrc文件:
vim ~/.bashrc 
//在最后一行添上:
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:(有以下两种)
1、关闭当前终端窗口,重新打开一个新终端窗口就能生效
2、输入“source ~/.bashrc”命令,立即生效
有效期限:永久有效
用户局限:仅对当前用户

 

修改方法三:
通过修改profile文件:
vim /etc/profile
/export PATH //找到设置PATH的行,添加
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户

 

修改方法四:
通过修改environment文件:
vim /etc/environment
在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"中加入“:/usr/local/mongodb/bin”
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户

© 著作权归作者所有

Java小咖咖
粉丝 1
博文 3
码字总数 2182
作品 0
晋中
程序员
私信 提问
Linux-常见环境变量及其作用

Linux是一个多用户多任务的操作系统,可以在Linux中为不同的用户设置不同的运行环境,具体做法是设置不同用户的环境变量(称之为 Linux中定制的环境变量)。但是仍有些环境变量是用户都需要的...

突突突酱
02/22
0
0
Linux之/etc/profile文件

Linux之/etc/profile文件 在登录Linux时要执行文件的过程如下 在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bashprofile、 ~/.bashlogin或 ~/.profile文件中的其...

秋风醉了
2014/03/28
0
0
Linux操作系统下三种配置环境变量的方法

现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法。 1.修改/etc/profile文件 如果你的计算机仅仅作为开发使...

Start-up
2012/11/14
0
1
Linux下设置环境JDK环境变量

了解Hadoop有一段时间了可惜学java web好忙,一直没有时间搭建Hadoop,Linux下的环境今天搭建一下Linux下的hadoop安装环境。可惜好久都不用Linux,刚刚用vmware安装了centos5.5,linux上的j...

cloudyak
2013/01/25
0
0
Fedora 15 设置环境变量

Linux操作系统,是一种计算机操作系统。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。 1、引言 在 linux系统 下,如果你下载并安装了...

路一直在走
2011/10/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

“旧城改造”的背后——银泰新零售阿里云解决方案(上)

相关免费课程《银泰新零售上云解决方案精讲》上线中 立足实战 讲透经典案例 助你快速理解新零售 第一节学习地址 第二节学习地址 传统线下商业体上云的案例 与其说银泰上云,倒不如说银泰“旧...

阿里云官方博客
7分钟前
0
0
记一次升级Oracle驱动引发的死锁

问题描述 近期项目需要从虚拟机环境迁移到容器环境,其中有一个项目在迁移到容器环境之后的两天之内出现了2次“死锁(deadlock)”的问题,部分关键日志如下: Found one Java-level deadlock:...

ksfzhaohui
9分钟前
2
0
MySQL 中的 information_schema 数据库

欢迎查看原文 - 本博客仅记录 https://blog.csdn.net/kikajack/article/details/80065753 -- 是否开启bin_log日志: off为关闭-- show variables like 'log_%'; show variables like '......

莫库什勒
17分钟前
0
0
Random在高并发下的缺陷以及JUC对其的优化

Random可以说是每个开发都知道,而且都用的很6的类,如果你说,你没有用过Random,也不知道Random是什么鬼,那么你也不会来到这个技术类型的社区,也看不到我的博客了。但并不是每个人都知道...

编程SHA
21分钟前
0
0
T5大牛带你解析:如何实现分布式技术

1.分布式事务 2. 分布式锁 Java 原生 API 虽然有并发锁,但并没有提供分布式锁的能力,所以针对分布式场景中的锁需要解决的方案。 分布式锁的解决方案大致有以下几种: 基于数据库实现 基于缓...

李红欧巴
33分钟前
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部