前言

在自定义安装软件的时候,经常需要配置环境变量,下面进行详细解析

& nbsp;

环境变量配置文件

用户 配置文件
系统环境 /ect/profile
/etc/bashrc
/etc/environment
root ~/.bashrc
~/.bash-profile
非root用户 /home/非root用户名/.bashrc

读取环境变量

读取环境变量的方法:

  • export命令显示当前系统定义的所有环境变量
  • echo $PATH命令输出当前的PATH环境变量的值

    执行效果如下:
[root@jkc etc]# export
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="jkc"
declare -x LANG="zh_CN.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root" [root@jkc etc]# echo $PATH
/usr/local/node/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

其中PATH变量定义了运行命令的查找路径,以冒号:分割不同的路径

更新环境变量

source /etc/profile或者. /etc/profile

环境变量配置方法一:直接在当前窗口输入export PATH

export PATH=/usr/local/src/python3/bin:$PATH

# 或者把PATH放在前面
export PATH=$PATH:/usr/local/src/python3/bin

注意

  • 生效时间:立即生效
  • 生效期限:当前打开的终端有效,窗口关闭后无效
  • 生效范围:当前登录用户
  • 配置时需要加上$PATH,否则会覆盖原有路径

环境变量配置方法二:vim ~/.bashrc

通过修改用户目录下的~/.bashrc文件进行配置:

vim ~/.bashrc

# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin

注意

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bashrc 生效
  • 生效期限:永久有效
  • 生效范围:当前登录用户
  • 可能会被后续的环境变量文件覆盖了PATH的值

环境变量配置方法三:vim ~/.bash_profile

和修改~/.bashrc文件类似,也是要在文件最后加上新的路径即可:

vim ~/.bash_profile

# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin

注意:

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bash_profile生效
  • 生效期限:永久有效
  • 生效范围:当前登录用户
  • 如果没有~/.bash_profile文件,则可以编辑~/.profile文件或者新建一个

环境变量配置方法四:vim /etc/bashrc

该方法是修改系统配置,需要管理员权限(如root)或者对该文件的写入权限:

# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/bashrc vim /etc/bashrc # 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin

注意:

生效时间:使用相同的用户打开新的终端时生效,或者手动 `source /etc/bashrc `生效
生效期限:永久有效
生效范围:所有用户

环境变量配置方法五:vim /etc/profile

该方法修改系统配置,需要管理员权限或者对该文件的写入权限,和vim /etc/bashrc类似:

# 如果/etc/profile文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/profile vim /etc/profile # 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin

注意:

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动source /etc/profile生效
  • 生效期限:永久有效
  • 生效范围:所有用户

环境变量配置方法六:vim /etc/environment

# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/environment vim /etc/profile # 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin

注意:

生效时间:使用相同的用户打开新的终端时生效,或者手动source /etc/environment生效

生效期限:永久有效

生效范围:所有用户

环境变量加载原理解析

脑洞大开:上述六种环境变量的配置方式, Linux是按什么顺序加载的呢?是否会相互覆盖相同的环境变量呢?

环境变量的分类

用户级别配置文件:

  • ~/.bashrc
  • ~/.profile (部分系统为:~/.bash_profile
  • /home/非root用户名/.bashrc

     

    系统级别配置文件:

    /etc/bashrc

    /etc/profile (部分系统为:/etc/bash_profile

    /etc/environment

环境变量加载顺序

1./etc/environment

2./etc/profile

3./etc/bashrc

4.~/.profile

5.~/.bashrc

linux(11)配置环境变量的更多相关文章

  1. linux下配置环境变量方式

    linux下配置环境变量有多种方式,下面简述之 方式1.编辑 /etc/profile 文件,增加如下内容 JAVA_HOME=/usr/local/jdk1. export JAVA_HOME PA ...

  2. Linux下配置环境变量—— .bashrc 和 /etc/profile

    转载:https://blog.csdn.net/sun8112133/article/details/79901527 首先简单说一下什么是环境变量?环境变量简单的说就是当前环境下的参数或者变量.如 ...

  3. 在linux中配置环境变量

    JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 根据Linux ...

  4. Linux下配置环境变量的几个方法实例

    场景:一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录 ...

  5. 《自拍教程25》在Linux上配置环境变量

    我们说的环境变量,一般是指的是PATH环境变量, Linux我们用Ubuntu操作系统来举例. 我们从官网下载了Sublime Text的Linux已编译好的包. https://download.s ...

  6. Linux中配置环境变量

    Linux中环境变量的搭建(推荐用法) 第一步:进入到/etc/profile.d文件夹下 cd /etc/profile.d 第二步:创建并编辑一个my_env.sh文件 vim my_env.sh ...

  7. linux下配置环境变量【原创】

    用户目录下的.profile, 你只需要在用户目录下,创建bin目录,在里面放入你想要执行的可执行文件,就可以在命令行下就可以使用了 # ~/.profile: executed by the com ...

  8. linux java配置环境变量

    export JAVA_HOME=/alidata/server/java/jdk1.8.0_65export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME ...

  9. Linux下发布javaWeb项目,配置环境变量,tomcat,和安装mysql数据库

    如果不懂,可以联系微博本人:QQ:3111901846 (原创) 1.配置java中jdk 注意一切操作,都是在root这个目录下进行的,不要选择其他目录,不然会出现一些小问题的 第一步: 你需要一个 ...

随机推荐

  1. spark-streaming获取kafka数据的两种方式

    简单理解为:Receiver方式是通过zookeeper来连接kafka队列,Direct方式是直接连接到kafka的节点上获取数据 一.Receiver方式: 使用kafka的高层次Consumer ...

  2. jQuery中toggle与slideToggle以及fadeToggle的显示、隐藏方法的比较

    1.区别 ①动画效果的比较: toggle:直接显示.隐藏,如果有[时间参数]且[匹配的元素有宽度属性],则动态效果为左上角-右下角拉卷效果,透明度0-1之间的变化:若有时间参数但是[匹配的元素没有宽 ...

  3. 数据库表空间收缩之pg_squeeze,pg_repack

    数据库表空间收缩之pg_squeeze,pg_repack 目录 数据库表空间收缩之pg_squeeze,pg_repack pg_squeeze1.2 原理 优点 安装 使用 pgstattuple ...

  4. 【JDBC核心】JDBC 概述

    JDBC 概述 数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以"固 ...

  5. 【C++】《C++ Primer 》第十一章

    第十一章 关联容器 关联容器和顺序容器的不同:关联容器中的元素时按照关键字来保存和访问的. 关联容器支持通过关键字来高效地查找和读取元素,基本的关联容器类型是 map和 set. 类型 map 和 m ...

  6. git revert 回退已经push的内容

    如题,在日常的开发过程中,可能有组员不小心一下子吧文件修改,需要进行回退 回退主要涉及到2种命令,一种是git reset 一种是 git revert git reset 会修改git log提交历 ...

  7. ASP.NET Core - JWT认证实现

    一.JWT结构 JWT介绍就太多了,这里主要关注下Jwt的结构. Jwt中包含三个部分:Header(头部).Payload(负载).Signature(签名) Header:描述 JWT 的元数据的 ...

  8. 2021升级版微服务教程7-OpenFeign实战开发和参数调优

    2021升级版SpringCloud教程从入门到实战精通「H版&alibaba&链路追踪&日志&事务&锁」 教程全目录「含视频」:https://gitee.c ...

  9. 【MySql】[ERROR] Can't read from messagefile '/usr/share/mysql/english/errmsg.sys'

    [root@zhang bin]# ./mysql_install_db --datadir=/usr/local/mysql/mydata/data/ 2018-08-18 03:09:14 [WA ...

  10. oracle新增ID主键列,如何补全旧数据的ID值

    1.创建SEQUENCE CREATE SEQUENCE MONKEY.TEST_ADD_IDCOL_ID CACHE 100; 2.新增表栏位 ALTER TABLE MONKEY.TEST_ADD ...