麒麟系统添加环境变量

  • 环境变量添加方法
  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.mzph.cn/news/192714.shtml

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

相关文章

电容和电感

一、电感 1&#xff09;图片 2&#xff09;作用 a&#xff09;储存容量 例如dcdc转换器的原理,将一个电压值转换成另外一个电压值 b&#xff09;选择信号 比如空气中弥漫着很多信号&#xff0c;我们应该怎么选取我们所需要的信号。 电感和电容可以看成一个电阻&#xff0c;当电…

JAVA代码优化:CompletableFuture(异步编程解决方案)

server层代码需要查询四个sql语句&#xff0c;但全都由主线程执行。 CompletableFuture可以分出多个子线程执行 CompletableFuture&#xff08;并行处理多个异步任务&#xff09; 1.通过CompletableFuture.supplyAsync()方法创建了三个CompletableFuture实例&#xff0c;分别…

PTA结构体经典编程题

目录 第一题&#xff1a;计算平均成绩 第二题&#xff1a;平面向量加法 第三题&#xff1a;查找书籍 第四题&#xff1a;通讯录排序 第五题&#xff1a;计算职工工资 第一题&#xff1a;计算平均成绩 思路&#xff1a;看到一个学生的基本信息&#xff0c;所以定义一个结构…

神经网络模型预训练

根据神经网络各个层的计算逻辑用程序实现相关的计算&#xff0c;主要是&#xff1a;前向传播计算、反向传播计算、损失计算、精确度计算等&#xff0c;并提供保存超参数到文件中。 # coding: utf-8 import sys, os sys.path.append(os.pardir) # 为了导入父目录的文件而进行的…

【Python百练——第3练】矩形类及操作

&#x1f490;作者&#xff1a;insist-- &#x1f490;个人主页&#xff1a;insist-- 的个人主页 理想主义的花&#xff0c;最终会盛开在浪漫主义的土壤里&#xff0c;我们的热情永远不会熄灭&#xff0c;在现实平凡中&#xff0c;我们终将上岸&#xff0c;阳光万里 ❤️欢迎点…

OracleRac跨网段修改Public IP/VIP/Private IP/Scan IP

本验证于测试环境&#xff0c;生产操作需谨慎 现为测试环境&#xff0c;机器有且仅有两个网卡存在&#xff0c;需求修改Public IP/VIP/Private IP/Scan IP&#xff0c;把Public IP/VIP/Scan IP的网段改为Private IP的网段&#xff0c;Private IP于Public IP网段互换。 先停掉两…

Golang 原生Rpc Server实现

Golang 原生Rpc Server实现 引言源码解析服务端数据结构服务注册请求处理 客户端数据结构建立连接请求调用 延伸异步调用定制服务名采用TPC协议建立连接自定义编码格式自定义服务器 参考 引言 本文我们来看看golang原生rpc库的实现 , 首先来看一下golang rpc库的demo案例: 服…

python的制图

测试数据示例&#xff1a; day report_user_cnt report_user_cnt_2 label 2023-10-01 3 3 欺诈 2023-10-02 2 4 欺诈 2023-10-03 6 5 欺诈 2023-10-04 2 1 正常 2023-10-05 4 3 正常 2023-10-06 4 4 正常 2023-10-07 2 6 正常 2023-10-08 3 7 正常 2023-10-09 3 12 正常 2023-…

C#学习 - 事件 续

事件声明 完整声明 using System;namespace ConsoleApp1 {internal class Program{static void Main(string[] args){Customer customer new Customer();Waiter waiter new Waiter();customer.Order waiter.Action;customer.Action();//这里也能直接写MyOrdercustomer.Pay…

python爬虫之创建属于自己的ip代理池

在后续需求数据量比较大的情况下&#xff0c;自建一个ip代理池可以帮助我们获得更多的数据。 下面我来介绍一下整个过程 1.找到目标代理网站 https://www.dailiservers.com/go/webshare https://proxyscrape.com/ https://spys.one/ https://free-proxy-list.net/ http://fr…

找不到DNS地址的解决方案

找不到DNS地址的解决方案 第一种解决方案&#xff1a;刷新DNS缓存第二种解决方案&#xff1a; 配置Internet协议版本4&#xff08;TCP/IPv4&#xff09;配置IP地址配置DNS地址 如何查看本机IPv4地址、子网掩码与默认网关 第一种解决方案&#xff1a;刷新DNS缓存 WINR输入cmd回…

基于SSH三大框架的员工管理系统

基于SSH三大框架的员工管理系统 摘要 本系统为本人学习SSH三大框架时所做的整合实例&#xff0c;系统角色包括普通用户和管理员两种&#xff0c;首页有管理员登录入口链接。系统功能主要包括管理员对用户的基本增、删、改、查和分页显示用户信息等。 系统环境 本系统使用ec…

【C++练级之路】【Lv.1】C++,启动!(命名空间,缺省参数,函数重载,引用,内联函数,auto,范围for,nullptr)

目录 引言入门须知一、命名空间1.1 作用域限定符1.2 命名空间的意义1.3 命名空间的定义1.4 命名空间的使用 二、C输入&输出2.1 cout输出2.2 cin输入2.3 std命名空间的使用惯例 三、缺省参数3.1 缺省参数概念3.2 缺省参数分类 四、函数重载4.1 函数重载概念4.2 函数重载分类…

BUUCTF 间谍启示录 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 在城际公路的小道上&#xff0c;罪犯G正在被警方追赶。警官X眼看他正要逃脱&#xff0c;于是不得已开枪击中了罪犯G。罪犯G情急之下将一个物体抛到了前方湍急的河流中&#xff0c;便头一歪突然倒地。警官X接近一看&…

公平锁和非公平锁以及他们的实现原理是什么

文章目录 什么是非公平锁和公平锁呢&#xff1f;我们来看看acquire(1)的源码如下&#xff1a;这里的判断条件主要做两件事&#xff1a;在tryAcquire()方法中&#xff0c;主要是做了以下几件事&#xff1a;公平锁的tryAcquire()&#xff0c;实现的原理图如下&#xff1a;我们来看…

ORA-00257: archiver error. Connect internal only, until freed 的解决方法

归档文件存储空间不足&#xff0c;导致出现该问题。 当我们将数据库的模式修改为归档模式的时候&#xff0c;如果没有指定归档目录&#xff0c;默认的归档文件就会放到Flash Recovery Area的目录&#xff0c;但是这个目录是有大小限制的&#xff0c;如果超过了这个大小&#x…

C#基础学习--命名空间和程序集

引用其他程序集 编译器接受源代码文件并生成一个名为程序集的输出文件。 在许多项目中&#xff0c;会想使用来自其他程序集的类或类型。这些程序集可能来自BCL或第三方供应商&#xff0c;或者自己创建的。这些程序集称为类库&#xff0c;而且它们的程序集文件的名称通常以dll…

微信小程序组件与插件有啥区别?怎么用?

目录 一、微信小程序介绍 二、微信小程序组件 三、微信小程序插件 四、微信小程序组件与插件有啥区别 一、微信小程序介绍 微信小程序是一种基于微信平台的应用程序&#xff0c;它可以在微信客户端内直接运行&#xff0c;无需下载和安装。微信小程序具有轻量、便捷、跨平台…

对比ProtoBuf和JSON的序列化和反序列化能力

1.序列化能力对比验证 在这里让我们分别使用PB与JSON的序列化与反序列化能力&#xff0c;对值完全相同的一份结构化数据进行不同次数的性能测试。 为了可读性&#xff0c;下面这一份文本使用JSON格式展示了需要被进行测试的结构化数据内容: {"age" : 20,"name…

线程安全的问题以及解决方案

线程安全 线程安全的定义 线程安全:某个代码无论是在单线程上运行还是在多线程上运行,都不会产生bug. 线程不安全:单线程上运行正常,多线程上运行会产生bug. 观察线程不安全 看看下面的代码: public class ThreadTest1 {public static int count 0;public static void main…