Linux配置环境变量的几种方式

  •  📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢交流讨论:欢迎加入我们一起学习!
  • 📢资源分享:耗时200+小时精选的「软件测试」资料包
  • 📢 软件测试学习教程推荐:火遍全网的《软件测试》教程


环境变量配置文件

更新环境变量文件:

source /etc/profile
或
. /etc/profile 

环境变量配置方式

01 Linux读取环境变量

  • 读取系统已有环境变量的方法;

  • export 显示当前系统定义的所有环境变量;

  • echo $PATH  输出当前的PATH环境变量的值。

 

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

02 方式一:export PATH

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

注意点:

  • 生效时间:立即生效

  • 生效期限:当前打开的终端有效,终端关闭后无效

  • 生效范围:当前登录用户

  • 需要加上 $PATH,否则会覆盖原有路径

 03 方式二:vim ~/.bashrc

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

注意点:

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bashrc 生效

  • 生效期限:永久有效

  • 生效范围:当前登录用户

  • 可能会被后续的环境变量文件覆盖了PATH的值

04 方式三:vim ~/.bash_profile

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

 

注意点:

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bash_profile 生效

  • 生效期限:永久有效

  • 生效范围:当前登录用户

  • 如果没有 ~/.bash_profile 文件,则可以编辑 ~/.profile 文件或者新建一个

05 方式四:vim /etc/bashrc

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

注意点:

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

  • 生效期限:永久有效

  • 生效范围:所有用户

06 方式五:vim /etc/profile

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

 

注意点:

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

  • 生效期限:永久有效

  • 生效范围:所有用户

07 方式六:vim /etc/environment

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

注意点:

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

  • 生效期限:永久有效

  • 生效范围:所有用户

环境变量加载原理解析

01 思考

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

02 环境变量的分类

用户级别环境变量配置文件:

 ~/.bashrc

~/.profile

~/.bash_profile(centos7 无)

/home/非root用户名/.bashrc

系统级别环境变量配置文件:

/etc/bashrc

/etc/profile

/etc/bash_profile(centos7 无)

/etc/environment

03 环境变量加载顺序

1. /etc/environment

2. /etc/profile

3. /etc/bashrc

4. ~/.profile

5. ~/.bashrc


最后我邀请你进入我们的软件测试学习交流群, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/265582.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

青少年CTF-qsnctf-Web-include01include02(多种方法-知识点较多-建议收藏!)

PHP常见伪协议 php://filter是PHP中独有的一种协议,它是一种过滤器,可以作为一个中间流来过滤其他的数据流。通常使用该协议来读取或者写入部分数据,且在读取和写入之前对数据进行一些过滤,例如base64编码处理,rot13处…

【MybatisPlus快速入门】(2)SpringBoot整合MybatisPlus 之 标准数据层开发 代码示例

目录 1 标准CRUD使用2 新增3 删除4 修改5 根据ID查询6 查询所有7 MyBatis-Plus CRUD总结 之前我们已学习MyBatisPlus在代码示例与MyBatisPlus的简介,在这一节中我们重点学习的是数据层标准的CRUD(增删改查)的实现与分页功能。代码比较多,我们一个个来学习…

AtomHub 开源容器镜像中心开放公测,国内服务稳定下载

由开放原子开源基金会主导,华为、浪潮、DaoCloud、谐云、青云、飓风引擎以及 OpenSDV 开源联盟、openEuler 社区、OpenCloudOS 社区等成员单位共同发起建设的 AtomHub 可信镜像中心正式开放公测。AtomHub 秉承共建、共治、共享的理念,旨在为开源组织和开…

OpenCV-Python(19):Canny边缘检测

目录 学习目标 Canny 边缘检测原理 1.噪声抑制(噪声去除) 2.梯度计算 3.非极大值抑制 4.双阈值检测(滞后阈值) 5.边缘连接 Canny 边缘检测步骤 Canny 边缘检测的OpenCV实现 不同阈值的边缘检测效果 学习目标 了解Canny边缘检测的概念学习掌握函数cv2.Canny()的用法 …

C++加法运算符的重载(operator)

1.重载加法运算符 为什么要重载加法运算符? 因为C提供的加法运算符只能满足基本数据类型间的加法,如果我想让俩个相同的类的对象进行加法的话会报错 所以为了能让俩个相同类的对象进行加法,我们要把这个过程封装到一个函数里面,只…

使用低代码工具构建电商平台:简化开发流程,加速应用搭建

在数字化时代,电商平台成为了各类企业的重要组成部分。然而,传统的软件开发过程往往漫长而复杂,需要大量的编码和调试工作。随着低代码工具的出现,开发者可以通过简化的方式来搭建电商平台应用,从而更快速地满足业务需…

Netty Review - 优化Netty通信:如何应对粘包和拆包挑战_自定义长度分包编解码码器

文章目录 概述Pre概述Code自定义协议自定义解码器服务端的消息处理客户端启动类自定义编码器客户端业务处理Handler 测试 概述 Pre Netty Review - 借助SimpleTalkRoom初体验异步网络编程的魅力 Netty Review - 优化Netty通信:如何应对粘包和拆包挑战 中我们遗留了…

【Linux】多线程

目录​​​​​​​ Linux线程概念 1. 什么是线程 2. 重新定义线程和进程 3. 重讲地址空间 4. 线程的优点 5. 线程的缺点 6. 线程异常 7. 线程用途 Linux进程VS线程 1. 进程和线程 2. 进程的多个线程共享 3. 线程为什么进程要更加轻量化? Linux线程…

盲盒小程序搭建:开启互联网盲盒时代

盲盒目前是一个非常火爆的商业模式。随着科技的发展,盲盒市场也开始采用线上盲盒进行拓客,吸引盲盒爱好者。当下在互联网电商影响下,盲盒小程序逐渐受到了商家的青睐。 线上盲盒市场 盲盒消费主要是根据自身的未知性吸引消费者,消…

SpringBoot Elasticsearch全文搜索

文章目录 概念全文搜索相关技术Elasticsearch概念近实时索引类型文档分片(Shard)和副本(Replica) 下载启用SpringBoot整合引入依赖创建文档类创建资源库测试文件初始化数据创建控制器 问题参考 概念 全文搜索(检索),工作原理:计算…

最优化理论与方法(2)---单纯形方法

文章目录 1. 线性规划1.1 基本介绍1.2 最优基本可行解 2. 表格形式单纯形方法2.1 基本知识引入2.2 求解步骤2.3 例题12.4 例题2 3. 单纯形法的进一步讨论3.1 无界解3.2 多个解 1. 线性规划 1.1 基本介绍 把握住两点:最小化和等号。  如果问题是最大化max&#xff…

新版iApp应用商店软件库源码 /纯UI源码 /开源高品质UI源码 /无需后台支持

源码介绍: 新版iApp应用商店软件库源码,它是纯UI源码、开源高品质UI源码 ,而且它无需后台支持。UI界面简约。 这是应用商店软件库UI源码,原作者为他人开发的作品,经过同意后进行了开源。 这是一份完全原创的作品&…

gitee版本回退本地和仓库的执行步骤(后悔药,无副作用,按说明书使用)

目录 1.本地回退 1.打开项目文件夹 3.回退到指定版本 4.选择回退模式并确认 5.本地回退成功 2.回退仓库版本 1.在git上面找到项目的提交记录 2.找到提交错误的版本​编辑 3.双击新页面这个版本进去 点击操作再点击revert​编辑 4.确认回退 ​5.仓库回退成功 在使用…

【go-zero】 go-zero API 如何接入 Nacos 被 java 服务调用 | go集成java服务

一、场景 外层使用的是springcloud alibaba 这一套java的分布式架构 然后需要接入go-zero的api服务 这里我们将对api服务接入Nacos进行一个说明 二、实战 1、package 因为使用的是go-zero框架 这里我们会优先使用go-zero生态的包 github 包如下: github.com/nacos-group/naco…

MT3608 高效率1.2MHz2A升压转换器和MT3608L 高效率1.2MHz 2.5A升压转换器 MT3608L和MT3608的区别

MT3608是一个恒定的频率,6引脚SOT23电流模式升压转换器的小,低功耗应用的目的。该MT3608开关在1.2MHz,并允许微小的,低成本的电容器和电感器使用2毫米或更小的高度内部软启动浪涌电流的结果,并延长电池寿命。 …

细粒度语义对齐的视觉语言预训练

抽象 大规模的视觉语言预训练在广泛的下游任务中显示出令人印象深刻的进展。现有方法主要通过图像和文本的全局表示的相似性或对图像和文本特征的高级跨模态关注来模拟跨模态对齐。然而,他们未能明确学习视觉区域和文本短语之间的细粒度语义对齐,因为只有…

CSS基础小练习

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>圣诞节快乐</title><style>/*设置背景色*/body{background-image:linear-gradient(green 50%,red 50%);background-size:100% 30px;}/*让div在页面居中*/#text{…

算法——深度优先搜索(DFS)

DFS 思路&#xff1a; 从初始状态出发&#xff0c;下一步可能有多种状态&#xff1b;选其中一个状态深入&#xff0c;到达新的状态&#xff1b;直到无法继续深入&#xff0c;回退到前一步&#xff0c;转移到其他状态&#xff0c;然后再深入下去。最后&#xff0c;遍历完所有可以…

【12.20】转行小白历险记 登录+注册页

一、登录注册页面逻辑 写样式布局&#xff1a;垂直居中、编程式路由、调后端接口正则表达式验证用户输入的密码规则校验通过后&#xff0c;跳转页面js兜底校验调后端接口将token值存储到vuex中&#xff0c;实现持久化存储 vuex不是持久化存储的&#xff0c;如果需要持久化存储…

IDEA的facets和artifacts

在软件开发领域&#xff0c;IDEA 是指 JetBrains 公司的 IntelliJ IDEA&#xff0c;是一款流行的集成开发环境&#xff08;Integrated Development Environment&#xff09;。在 IntelliJ IDEA 中&#xff0c;"facets" 和 "artifacts" 是两个概念&#xff…