麒麟系统添加环境变量

news2025/1/20 2:01:40
  • 环境变量添加方法
  1. 方法一:用户主目录下的.profile或.bashrc文件(推荐)
     

登录到你的用户(非root),在终端输入:

sudo vim  ~/.profile

或者 sudo vim  ~/.bashrc
翻到该文件最后,,按i进入编辑模式,在此文件末尾加入PATH的设置如下:
export  PATH=”$PATH:yourpath1:yourpath2...”
按下esc键推出编辑模式,输入:wq!保存退出文件,注销再登录,变量生效。

图 1 ~/.profile文件

图 2 ~/bashrc文件

~/.profile文件解析:用户家目录底下的私有环境变量设定。每个用户都可以使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。

~/.bashrc文件解析:用户家目录底下的私有环境变量设定。该文件包含专用于本用户shell的bash信息,当登录和每次打开新的shell时,该文件会被读取。(效率可能有细微影响)
注意:该方式添加的变量只对当前用户有效。

  1. 方法二:系统目录下的profile文件或bash.bashrc(谨慎)
    在系统的etc目录下,有一个profile文件,编辑该文件:
    $sudo vim /etc/profile

或者$sudo vim /etc/bash.bashrc
翻到该文件最后,,按i进入编辑模式,在此文件末尾加入PATH的设置如下:
exportPATH=”$PATH:yourpath1:yourpath2...”
按下esc键推出编辑模式,输入:wq!保存退出文件重启系统,变量生效。

图 3 /etc/profile文件

图 4  /etc/bash.bashrc文件

/etc/profile文件解析:全局环境变量设定,对所有用户shell有效

/etc/bash.bashrc文件解析:全局环境变量设定,对所有用户shell有效
注意:该方式添加的变量对所有的用户都有效。

  1. 方法三:系统目录下的environment文件(谨慎)
    在系统的etc目录下,有一个environment文件,编辑该文件:
    $sudo vim /etc/environment
    找到以下的PATH变量:
    PATH="<......>"
    按i进入编辑模式,修改该PATH变量,在其中加入自己的path,例如:

    PATH="<......>:yourpath1:yourpath2…",修改后按esc退出编辑模式,输入:wq!保存退出。该文件也是重启生效,影响所有用户。

图 5  /etc/environment文件
注意:这里不是添加export PATH=…。各个path之间用冒号分割。

  1. 方法四:直接在终端下输入(推荐)

$sudo  export  PATH="$PATH:yourpath1:yourpath2…"

图 6 临时环境变量添加

注意:这种方式变量立即生效,且只对当前终端生效,如图6,我另开一个终端就看不到添加的”/test”了。用户注销或系统重启后设置变成无效,适合临时变量的设置。
   总结:方法二和三的修改需要谨慎,尤其是通过root用户修改,如果修改错误,将可能导致一些严重的系统错误。因此推荐使用第一种方法和第四种方法。另外Linux的开发最好不要在root下进行(除非你对Linux已经非常熟悉了!!),以免因为操作不当导致系统严重错误。

  • 系统环境变量相关配置文件:

1./etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
   2./etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

  
3.~/.profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
 
4./etc/bash.bashrc:为每一个运行bashshell的用户执行此文件.当bashshell被打开时,该文件被读取.
  5.~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

  • LD_LIBRARY_PATH配置:

LD_LIBRARY_PATH环境变量是用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。移植程序时经常碰到需要使用一些特定的动态库,而这些编译好的动态库放在我们自己建立的目录里,这时可以将这些目录设置到LD_LIBRARY_PATH中。当执行函数动态链接.so时,如果此文件不在缺省目录下”/lib””/usr/lib”,就需要指定环境变量LD_LIBRARY_PATH

一般来说,系统的LD_LIBRARY_PATH都是未设置的,echo出来也是空值,该环境变量是使用者额外添加的。

图 7 LD_LIBRARY_PATH

  1. 用户主目录下的.profile或.bashrc文件(推荐)

用户家目录下的.profile文件,直接添加后还需要编辑/etc/X11/Xsession.options文件,将use-ssh-agent更改为no-use-ssh-agent保存重启,这样设置后才能生效。

图 8 /etc/X11/Xsession.option文件和~/.profile文件

用户家目录下.bashrc文件,直接添加后保存重启即可查看到:

图 9 ~/.bashrc

  1. 系统目录下的profile文件或bash.bashrc(谨慎)

     通过修改系统/etc/profile文件设置LD_LIBRARY_PATH时,也是需要修改/etc/X11/Xsession.option文件,把use-ssh-agent修改为no-use-ssh-agent后重启才能生效,否则不生效。

图 10 /etc/X11/Xsession.option文件和/etc/profile文件

通过系统/etc/bash.bash.rc文件设置LD_LIBRARY_PATH时,只修改该文件,保存后重启即可生效。

 

图 11 /etc/bash.bashrc

  1. 系统目录下的environment文件(谨慎)

通过修改系统目录下的environment文件设置LD_LIBRARY_PATH环境变量,同样需要修改/etc/X11/Xsession.option文件,把use-ssh-agent修改为no-use-ssh-agent后重启才能生效,否则不生效。

图 12 /etc/X11/Xsession.option文件和/etc/environment文件

  1. 直接在终端下输入(推荐)

通过设置临时变量的方法,设置LD_LIBRARY_PATH,只对当前终端生效,但用其他终端就不生效,关掉当前终端就不生效了。该方法影响域较小,不会对系统文件做更改,建议通过此方法设置环境变量,可以把需要设置的环境变量做成脚本,在使用前执行一下这个脚本即可。

图 13 终端直接输入



 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

位图布隆过滤器(附面试题)

文章目录 目录 文章目录 前言 一 . 位图 1.1 面试题 1.2 位图概念 1.3 位图的实现 1.4 位图的应用 二 . 布隆过滤器 2.1 布隆过滤器提出 2.2布隆过滤器概念 2.3 布隆过滤器的查找 2.4 实现 2.5 布隆过滤器删除 2.6 布隆过滤器优点 2.7 布隆过滤器缺陷 2.8 布隆过滤器使用场景 三…

解决ZED SDK安装后不可用,出现“核心已转储”的闪退问题

在陈述问题简单回顾下ZED SDK安装的步骤 ZED的运行需要显卡支持&#xff0c;cuda加速&#xff0c;因此需要提前安装好显卡驱动以及对应的cuda和cudnn&#xff0c;基础工作在此不再赘述&#xff0c;以下步骤默认已经完成上述准备工作。 建议新建一个虚拟环境以限定ZED使用的py…

SpringIOC第二课,@Bean用法,DI详解,常见面试题Autowired VS Resource

一、回顾 但是我们之前MVC时候&#xff0c;在页面上&#xff0c;为什只用Controller,不用其他的呢&#xff1f; 用其他的好使吗&#xff1f;(我们可以在这里看到&#xff0c;出现404的字样&#xff09; Service ResponseBody public class TestController {RequestMapping(&quo…

前端对浏览器的理解

浏览器的主要构成 用户界面 &#xff0d; 包括地址栏、后退/前进按钮、书签目录等&#xff0c;也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分。 浏览器引擎 &#xff0d; 用来查询及操作渲染引擎的接口。 渲染引擎 &#xff0d; 用来显示请求的内容&#…

基于ResNet18网络完成图像分类任务

目录 1 数据处理 1.1 数据集介绍 1.2 数据读取 1.3 构造Dataset类 2 模型构建 3 模型训练 4 模型评价 5 模型预测 6 什么是预训练模型和迁移学习 7 比较“使用预训练模型”和“不使用预训练模型”的效果。 总结 在本实践中&#xff0c;我们实践一个更通用的图像分类任务…

陶博士月线反转6.4 python 化代码

陶博士月线反转6.4 python 化代码 量化系统有好几个月没有进度了&#xff0c;之前一直纠结策略问题&#xff0c;无从下手。最近和量化的同学聊了下&#xff0c;还得先把自动交易流程先跑起来后面再慢慢优化策略。 所以先拿陶博士的月线反转6.4 python 化&#xff0c;作为试水的…

最常用的Linux命令#程序员

最常用的Linux命令 #程序员 #linux 1. 文件和目录管理 icon2. 文件查看和编辑 3.流程管理 4. 系统信息 5. 用户和组管理 6. 网络配置与监控 7. 包管理

产品学习之路(一)

在做好开发的同时&#xff0c;还需要熟悉产品业务逻辑&#xff0c;不能为了功能而做功能&#xff0c;要从产品经理的角度去看待每个需求和客户痛点所在&#xff0c;这样针对产品设计出来的东西自己也有发言权&#xff1b; 目前作为一名前端开发人员&#xff0c;也在自学产品知识…

史上最全低代码平台盘点!三分钟盘点2023年顶尖二十个低代码平台!

史上最全低代码平台盘点&#xff01;三分钟盘点2023年顶尖二十个低代码平台&#xff01; 什么是低代码平台&#xff1f;2023年顶尖二十大低代码平台&#xff0c;哪个值得一试&#xff1f;低代码平台应该如何选择&#xff1f;本篇&#xff0c;我们将为大家盘点顶尖的十大低代码平…

tcexam 本地容器化搭建

PS: 参考[使用docker搭建tcexam在线考试平台-CSDN博客]&#xff0c;只记录和总结容器创建和install步骤 1. Git下载 tcexam_docker 工程源码至宿主机的 ~/git/ 目录 mkdir ~/git && cd ~/git git clone https://gitee.com/39627020/tcexam_docker.git mv tcexam_doce…

计算机网络体系的形成

目录 1、开放系统互连参考模型OSI/RM 2、两种国际标准 3、协议与划分层次 4、网络协议的三要素 5、划分层次 &#xff08;1&#xff09;文件发送模块使两个主机交换文件 &#xff08;2&#xff09;通信服务模块 &#xff08;3&#xff09;接入网络模块 6、分层带来的好…

Redis--14--BigKey 和 热点Key

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 BigKey1.什么是bigkey2.bigkey的危害3.发现bigkeyscan 4.解决bigkey 什么是热点Key&#xff1f;该如何解决1. 产生原因和危害原因危害 2.发现热点key预估发现客户端…

leetcode:232. 用栈实现队列

一、题目 原题链接&#xff1a;232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 函数原型&#xff1a; typedef struct //我的队列结构定义 { } MyQueue; MyQueue* myQueueCreate() //我的队列创建及其初始化 void myQueuePush(MyQueue* obj, int x) //我的队…

【Python】tensorflow学习的个人纪录(1)

def learn(self, s, r, s_):s, s_ s[np.newaxis, :], s_[np.newaxis, :]v_ self.sess.run(self.v, {self.s: s_})td_error, _ self.sess.run([self.td_error, self.train_op],{self.s: s, self.v_: v_, self.r: r})return td_error代码步入&#xff1a; v_ self.ses…

华为攻击防范简介

定义 攻击防范是一种重要的网络安全特性。它通过分析上送CPU处理的报文的内容和行为&#xff0c;判断报文是否具有攻击特性&#xff0c;并配置对具有攻击特性的报文执行一定的防范措施。 攻击防范主要分为畸形报文攻击防范、分片报文攻击防范和泛洪攻击防范。 目的 目前&…

qt-C++笔记之QStringList

qt-C笔记之QStringList —— 杭州 2023-12-03 文章目录 qt-C笔记之QStringList1.1.官方文档第一部分翻译&#xff1a;继承自QList\<QString\>-初始化-添加字符串1.2.迭代字符串1.3.join()和split()1.4.filter()1.5.lastIndexOf()1.6.indexOf()1.7.replaceInStrings()以及…

react之封装有无Token(路由权限控制)的高阶组件

TOC 前景 有些路由页面内的内容信息比较敏感&#xff0c;如果用户没有经过登录获取到有效Token&#xff0c;是没有权限跳转的&#xff0c;根据Token的有 无控制当前路由是否可以跳转就是路由的权限控制 技术方案 实现步骤 1.在 components 目录中&#xff0c;创建 AuthRoute/in…

微机原理——定时器8253(8254)学习1

目录 定时类型 8253内部结构框图 8253命令字 六种工作方式及输出波形 计数初值的计算与装入 8253的初始化 定时类型 可编程定时器8253&#xff1a;&#xff08;内部采用的是16位 减法计数器&#xff09; 8253内部结构框图 8253命令字 8253有三个命令字&#xff1a;方式命…

flutter使用动态路由传参的最小案例

flutter中使用动态路由传递参数的封装案例&#xff0c;子组件页面只需要接收arguments参数即可&#xff0c;参数是一个map&#xff0c;里面包含有所需要的参数&#xff0c;类似于json。在MaterialApp中配置onGenerateRoute&#xff0c;然后动态判断传递参数&#xff1a; route…

Python程序员入门指南:就业前景

文章目录 标题Python程序员入门指南&#xff1a;就业前景Python 就业数据Python的就业前景SWOT分析法Python 就业分析 标题 Python程序员入门指南&#xff1a;就业前景 Python是一种流行的编程语言&#xff0c;它具有简洁、易读和灵活的特点。Python可以用于多种领域&#xff…