linux(11)配置环境变量[通俗易懂]

linux(11)配置环境变量[通俗易懂]前言在自定义安装软件的时候,经常需要配置环境变量,下面进行详细解析 环境变量配置文件|用户|配置文件||:|:||系统环境|/ect/profil

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

在自定义安装软件的时候,经常需要配置环境变量,下面进行详细解析
& 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/164989.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 金蝶迷你版云服务器没有响应,连接云服务器异常金蝶迷你版

    连接云服务器异常金蝶迷你版内容精选换一换云服务器列表页面显示了所有已创建的GPU加速型云服务器信息。您可以参考如下操作查看云服务器详情。云服务器详情中展示了如下信息:云服务器名称、ID、状态等。云服务器上会话的状态、当前应用、连接设备、连接用户等。VR云渲游平台中涉及的云服务器状态如表1所示。云服务器状态一览云服务器状态说明正常设备与该云服务器正在连接中。闲置处于该状态的云服务云服务器列表页面,…

  • sqrt函数原型c语言,C语言sqrt函数的实例用法讲解

    sqrt函数原型c语言,C语言sqrt函数的实例用法讲解前言继承是OOP设计中的重要概念。在C++语言中,派生类继承基类有三种继承方式:私有继承(private)、保护继承(protected)和公有继承(public)。一、继承规则继承是C++中的重要特性,派生2021-03-2218:02:41大家有没有在项目中遇到过,将一些预定义的本地结构体转换为Json字符串后,发送到网络中的情形。那我猜想下大家常规的做法:写一个函数,传入结构体的指针,然后…

  • jquery设置iframe的高度_iframe宽度自适应

    jquery设置iframe的高度_iframe宽度自适应经典代码iFrame自适应高度,在IE6/IE7/IE8/Firefox/Opera/Chrome/Safari通过测试。很古老的方法:functioniFrameHeight(){varifm=document.getElementById(“iframe”);varsubWeb=document.frames?document.

    2022年10月12日
  • C语言中函数的基本知识

    C语言中函数的基本知识接着上次的数组,这次我们来简单的讲讲C语言里面的函数。函数和指针这两大块,在C语言中占据着重要的位置,是C语言中的主体和核心,所以它们的重要性也就不言而喻了。那什么是函数呢?1:函数是C语言的模块,一块块的,有较强的独立性,可以相互调用,也就是说,你可以在函数A中调用函数B,又可在函数B中调用函数C,不仅如此,你还可以调用函数自身(递归)。2:函数是完成一个个特定任务的语句集合,它能完…

  • Module build failed (from ./node_modules/eslint-loader/index.js)

    Module build failed (from ./node_modules/eslint-loader/index.js)错误信息:D:\study\vue\vuesaxvuejs-210\vuesaxvuejs-210>npmrunserve>vuesax-vuejs-dashboard-admin-template@2.1.0serveD:\study\vue\vuesaxvuejs-210\vuesaxvuejs-210>vue-cli-serviceserveI…

  • C# WinForm开发系列之如何使用panel控件制作左侧导航菜单

    C# WinForm开发系列之如何使用panel控件制作左侧导航菜单之前需要写一个C#的左侧导航菜单控件,想了许久,最终选择了使用paenl控件来实现这一功能。决定和大家分享一下,初步接触C#,欢迎多多指教,不胜感激!首先,我的思路分为以下几步:一.使用vs编辑工具创建一个导航菜单控件;如图1所示:图1二.在菜单控件上布局你的导航菜单控件的样式;其结构如图2所示,(我是通过5个panel控件和两个label控件组成):

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号