前言

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

& 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. 风炫安全Web安全学习第十六节课 高权限sql注入getshell

    风炫安全Web安全学习第十六节课 高权限sql注入getshell sql高权限getshell 前提条件: 需要知道目标网站绝对路径 目录具有写的权限 需要当前数据库用户开启了secure_file ...

  2. Docker-ce Centos8 笔记二:常见问题

  3. python模块详解 | progressbar

    参考官方文档:https://pypi.org/project/progressbar/#description progressbar 安装: pip install progressbar pro ...

  4. (十九)hashlib模块

    hashlib模块用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 注意:md5和sha25 ...

  5. Spring Boot Scheduled定时任务特性

    SpringBoot中的Scheduled定时任务是Spring Boot中非常常用的特性,用来执行一些比如日切或者日终对账这种定时任务 下面说说使用时要注意的Scheduled的几个特性 Sched ...

  6. python zxing包解析二维码报UnicodeDecodeError错误解决办法

    一般错误的原因是这个库不支持中文的解码(二维码内容包含中文). 修改如下: 进入zxing.__init__.py代码中,类BarCode下,parse方法中: 找到下面这两行原代码如下: 1 raw ...

  7. 利用容器逃逸实现远程登录k8s集群节点

    某天, 某鱼说要吃瞄, 于是...... 李国宝:边缘计算k8s集群SuperEdge初体验 ​ zhuanlan.zhihu.com 图标 照着上一篇文章来说,我这边边缘计算集群有一堆节点. 每个节 ...

  8. 01-CentOS 8.1安装 Docker

    官方参考地址:https://docs.docker.com/install/linux/docker-ce/centos/ 里面包含包下载地址:https://download.docker.com ...

  9. 获取html中某些标签的值

    一.获取单选按钮radio的值 <!doctype html> <html lang="en"> <head> <meta charset ...

  10. HTTPS请求HTTP接口被浏览器阻塞,python实现websocket客户端,websocket服务器,跨域问题,dwebsocket,https,拦截,服务端

    HTTPS请求HTTP接口被浏览器阻塞,python实现websocket客户端,websocket服务器,跨域问题,dwebsocket,https,拦截,服务端 发表时间:2020-03-05 1 ...