0

0

Linux中怎么修改~/.bashrc或/etc/profile设置环境变量

WBOY

WBOY

发布时间:2023-05-14 11:19:11

|

2319人浏览过

|

来源于亿速云

转载

    什么是环境变量

    安装vcs过程中,csdn上原创或者转载的博主动不动就会说修改.bashrc设置环境变量,有些懒一点的博主甚至直接说在这里我们需要设置环境变量balabala,当时不知道,直接在安装包所在的目录下修改的.bashrc文件,安装成功是成功了,在那个目录下的terminal终端source以后也是可以打开verdi等等vcs套件,但是外部软件调用vcs永远不成功。最后还是归结到环境变量问题上来了。

    所以这里先要说明环境变量这个东西,换一种说法,你想在任何路径下调用某路径下的文件,但是总不能每次都要输一大堆路径名,这个时候就要用到环境变量,在相关文件下(下面细说)设置好PATH,也就是环境变量后,就可以不管在哪儿或者哪个外部应用中直接用名称调用(一般合规的名字是不存在冲突的,当然也有同一个软件安装了不同版本的情况会有冲突不过一般会打开默认的那个)。

    怎么设置环境变量

    这里主要讲PATH这种最常见的环境变量的设置,还有LD_LIBERARY_PATH,不过这些清楚他的意思之后就都是差不多的了。

    这个PATH和Windows上的PATH是一个东西,你想直接一句verdi打开而不用输路径就在PATH里面加上verdi的路径。

    export SynopsysList=/home/lmh/Synopsys
    export VERDI_HOME=$SynopsysList/verdi
    export PATH=$PATH:$VERDI_HOME/bin

    $有点像指针,除了一些专有名称外自己可以定义一些通用路径名比如VCS_HOME,VERDI_HOME这种,主要都是方便在其他路径里面直接调用了,加上$就表示调用该路径了,直接=是重新定义该路径了,所以PATH定义的时候一定要加上原有的路径$PATH,路径之间用冒号连接。

    所以再看这个就明白多了,alias也类似define一样的东西,我在CentOS上是加不加引号单引号双引号都无所谓,最后lmg_vcs都可以激活license。

    export SynopsysList=/home/lmh/Synopsys
    export DVE_HOME=$SynopsysList/vcs/gui/dve
    export VCS_HOME=$SynopsysList/vcs
    export VERDI_HOME=$SynopsysList/verdi
    #dve
    export PATH=$PATH:$VCS_HOME/gui/dve/bin
    alias dve="dve -full64"
    #VCS
    export PATH=$PATH:$VCS_HOME/bin
    alias vcs="vcs -full64"
    #VERDI
    export PATH=$PATH:$VERDI_HOME/bin
    alias verdi="verdi -full64"
    #scl
    export PATH=$PATH:$SynopsysList/scl/amd64/bin
    export VCS_ARCH_OVERRIDE=linux
    #LICENCE
    export LM_LICENSE_FILE=27000@localhost.localdomain
    alias lmg_vcs="lmgrd -c $SynopsysList/vcs/license/Synopsys.dat"

    这里顺带说一下,一般这种需要自己手动激活的license是需要挂着的,当然也有懒人办法直接修改/etc/rc.d/rc.local文件,在里面加上LD_LIBERARY_PATH的方法,我不懂,老老实实自己手动激活挺好。

    .bashrc

    bash就是shell的那个bash,CSDN上很多了,随便学,rc就是run command运行指令,字面意思。

    还有个.brashrc这个文件我不太懂和这个.bashrc的区别,尝试了一下在.brashrc里面更改PATH并source以后PATH并没有改变,这个网上也没有说这两者区别。

    这里直接一个图带你看懂子目录下的.bashrc文件

    Linux中怎么修改~/.bashrc或/etc/profile设置环境变量

    如上图,这个路径下打开shell以后本来是没有vcs等路径的,但是source .bashrc以后再查看$PATH就会显示有vcs的路径,这时候就可以直接输需要输的VCS命令,但是只限于左边这个终端窗口,右边是不行的。

    子目录下的.bashrc文件不会预载,不会公用,只针对当前用户的当前终端窗口,每次调用相当于还得自己source一下这个路径下的.bashrc文件才行。有点类似临时环境变量。

    所以一般要求设置环境变量的话通用的还是更改~/.bashrc或者/etc/profile

    下面阐述一下这两者的区别:

    Civitai
    Civitai

    AI艺术分享平台!海量SD资源和开源模型。

    下载
    • ~/是进入当前用户的主目录。即/home/路径

    • .bashrc 是进入.bashrc文件夹,就是用户目录下的名字是.bashrc的目录。

    bashrc与profile的区别

    要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。

    交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。

    • 这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。

    • shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。

    bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-login shell,而profile用于交互式login shell。

    系统中存在许多bashrc和profile文件,下面主要区分两种(一般环境变量的设定也只会用到这两种):

    • /etc/profile此文件为系统的每个用户设置环境信息,当第一个用户登录时,该文件被执行。并从/etc/profile.d 这一配置文件中搜集shell的设置。

    • ~/.bashrc:该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取。

    另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。

    相关专题

    更多
    typedef和define区别
    typedef和define区别

    typedef和define区别在类型检查、作用范围、可读性、错误处理和内存占用等。本专题为大家提供typedef和define相关的文章、下载、课程内容,供大家免费下载体验。

    107

    2023.09.26

    define的用法
    define的用法

    define用法:1、定义常量;2、定义函数宏:3、定义条件编译;4、定义多行宏。更多关于define的用法的内容,大家可以阅读本专题下的文章。

    335

    2023.10.11

    堆和栈的区别
    堆和栈的区别

    堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

    392

    2023.07.18

    堆和栈区别
    堆和栈区别

    堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

    572

    2023.08.10

    windows查看端口占用情况
    windows查看端口占用情况

    Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

    601

    2023.07.26

    查看端口占用情况windows
    查看端口占用情况windows

    端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

    1104

    2023.07.27

    windows照片无法显示
    windows照片无法显示

    当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

    792

    2023.08.01

    windows查看端口被占用的情况
    windows查看端口被占用的情况

    windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

    452

    2023.08.02

    PS使用蒙版相关教程
    PS使用蒙版相关教程

    本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

    23

    2026.01.19

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    PostgreSQL 教程
    PostgreSQL 教程

    共48课时 | 7.4万人学习

    Git 教程
    Git 教程

    共21课时 | 2.8万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号