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

什么是环境变量

安装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/Synopsysexport VERDI_HOME=$SynopsysList/verdiexport PATH=$PATH:$VERDI_HOME/bin

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

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

export SynopsysList=/home/lmh/Synopsysexport DVE_HOME=$SynopsysList/vcs/gui/dveexport VCS_HOME=$SynopsysList/vcsexport VERDI_HOME=$SynopsysList/verdi#dveexport PATH=$PATH:$VCS_HOME/gui/dve/binalias dve="dve -full64"#VCSexport PATH=$PATH:$VCS_HOME/binalias vcs="vcs -full64"#VERDIexport PATH=$PATH:$VERDI_HOME/binalias verdi="verdi -full64"#sclexport PATH=$PATH:$SynopsysList/scl/amd64/binexport VCS_ARCH_OVERRIDE=linux#LICENCEexport LM_LICENSE_FILE=27000@localhost.localdomainalias 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

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

图改改 图改改

在线修改图片文字

图改改 455 查看详情 图改改

~/是进入当前用户的主目录。即/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中的变量,他们是”父子”关系。

以上就是Linux中怎么修改~/.bashrc或/etc/profile设置环境变量的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/245973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月4日 03:34:09
下一篇 2025年11月4日 03:35:02

相关推荐

  • RSS订阅如何数据分析?

    答案:RSS数据分析通过系统化流程挖掘内容趋势、发布者行为和商业洞察。首先利用Python、feedparser等工具抓取并存储数据,再通过pandas、BeautifulSoup清洗标准化,接着运用NLP、LDA等技术分析关键词与主题,结合发布频率、文章长度等指标评估内容质量,最后通过Plotly…

    好文分享 2025年12月17日
    000
  • 如何验证XSD文件有效性?

    验证XSD文件有效性需通过解析器或工具检查XML是否符合XSD定义的结构与约束,主要方法包括程序化验证(如Java JAXP、Python lxml、.NET XmlSchemaSet)、命令行工具(如xmllint)、在线服务及IDE集成,选择方案应基于开发环境、自动化需求、性能和安全性综合考量。…

    2025年12月17日
    000
  • XPath表达式如何调试?

    答案是使用浏览器开发者工具和分步验证法调试XPath。首先检查元素完整路径与属性,利用Chrome DevTools的Ctrl+F输入XPath实时测试,或在Console中用$x()执行;从简单表达式逐步迭代,结合contains()、axes等函数提高鲁棒性,排查动态加载、iframe、命名空间…

    2025年12月17日
    000
  • RSS订阅如何共享?

    共享RSS订阅可通过云端阅读器功能、OPML文件导出导入或自建RSS服务实现。云端工具如Feedly支持共享文件夹与团队协作,OPML提供跨平台通用备份与迁移,自建服务则保障数据隐私与定制化控制,适用于不同需求场景。 RSS订阅的共享,通常不是一个直接的“共享按钮”功能,而更多是基于特定服务或文件导…

    2025年12月17日
    000
  • XML处理中的内存泄漏如何避免?

    大型XML文件处理时,首选流式解析器SAX或StAX。它们采用事件驱动或拉模式,逐元素解析,避免将整个文档加载到内存,显著降低内存占用,有效防止因DOM解析导致的内存溢出问题。 在XML处理中避免内存泄漏,核心在于对内存使用模式的深刻理解和资源的严格管理。简单来说,就是根据XML文件的大小和处理需求…

    2025年12月17日
    000
  • XML如何处理中文编码?

    XML处理中文乱码的核心在于确保文件声明、实际编码、读写流均统一为UTF-8。首先,XML文件需以声明编码,并以UTF-8无BOM格式保存;其次,程序读写时必须显式指定UTF-8编码,如Java中使用InputStreamReader和OutputStreamWriter指定StandardChar…

    2025年12月17日
    000
  • RSS订阅如何流量统计?

    统计RSS流量需通过服务器日志分析下载量或在RSS内容中嵌入追踪像素统计阅读曝光量,因传统JavaScript统计工具在不执行脚本的RSS订阅器中无效。 要统计RSS订阅的流量,其实和我们平时网站上的JavaScript埋点统计是两码事。简单来说,RSS订阅流量主要通过几种方式来衡量:最直接的是分析…

    2025年12月17日
    000
  • XML解析错误如何处理?

    XML解析错误会引发数据丢失、程序崩溃、安全漏洞和性能下降等问题,需通过验证器、IDE、命令行工具等手段检查语法、嵌套、编码及命名空间,并选择合适解析器以提升稳定性与安全性。 XML解析错误通常意味着XML文档的结构不符合XML规范,导致解析器无法正确读取。处理这类错误需要理解常见的XML错误类型,…

    2025年12月17日
    000
  • SOAP性能瓶颈在哪里?如何优化速度?

    SOAP性能瓶颈主要在序列化、网络传输和服务端处理,优化需从客户端和服务端入手,通过压缩消息、批量处理、缓存、负载均衡、高效解析器等手段提升性能,同时考虑网络、硬件、安全策略等非技术因素,选择合适SOAP引擎需权衡性能、功能、易用性与支持。 SOAP性能瓶颈通常出现在序列化/反序列化、网络传输、以及…

    2025年12月17日
    000
  • XPath的environment-variable()函数怎么用?

    答案:XPath的environment-variable()函数用于在XPath 3.0+中读取系统环境变量,返回字符串值或空序列,适用于动态配置、环境适配、调试控制等场景,使用时需注意变量缺失、安全性、平台差异和执行环境限制,并可通过exists()判断或提供默认值来优雅处理空值。 XPath的…

    2025年12月17日
    000
  • XML的Relax NG与XML Schema相比有哪些特点?

    relax ng与xml schema的核心区别在于:1. relax ng追求简洁、灵活,擅长描述无序和交错内容,语法直观易读,尤其适合结构松散或变化频繁的xml;2. xml schema提供丰富的数据类型系统和严格的验证能力,支持复杂的数据约束、派生类型及id/idref引用完整性,适用于对数…

    2025年12月17日
    000
  • 如何使用C语言的libxml2库解析XML数据?

    解析xml数据的核心步骤是:初始化库、加载文档、遍历节点、提取数据、清理资源;2. 处理错误需使用xmlgetlasterror()获取详细信息或设置xmlsetgenericerrorfunc自定义回调;3. 避免内存泄漏必须调用xmlfreedoc()释放文档、xmlfree()释放属性和内容内…

    2025年12月17日
    000
  • XML解析时如何处理不同编码格式的文件?

    xml文件编码声明的重要性体现在它指导解析器如何将字节流正确转换为字符,确保跨平台和跨系统的互操作性,避免因编码不一致导致的乱码或解析错误;2. 当xml文件没有编码声明时,解析器会默认按utf-8解析,并尝试通过bom判断编码,若文件实际编码与默认不符(如gbk),则会导致乱码或解析失败;3. 在…

    2025年12月17日
    000
  • XML解析时遇到格式错误(well-formed error)怎么处理?

    <p&gt;xml解析报“格式错误”是因为文档违反了xml基本语法规则,必须通过定位错误信息并逐一排查来解决。1. 首先查看解析器提供的行号和列号,精准定位问题位置;2. 检查标签是否正确闭合或嵌套,如&lt;a&gt;&lt;b&gt;&lt;…

    好文分享 2025年12月17日
    000
  • XML文档声明(prolog)中encoding属性的作用是什么?

    xml文档声明中的encoding属性必须与文件实际编码一致,否则会导致乱码或解析错误;1. 统一使用utf-8编码;2. 在xml声明中明确指定encoding=”utf-8″;3. 确保编辑器保存时的实际编码与声明一致;4. 程序生成xml时在输出流中强制指定utf-8编…

    2025年12月17日
    000
  • XSLT是什么?如何用它转换XML文档格式?

    xslt是一种用于将xml文档转换为其他格式(如html、文本或其他xml)的语言,其样式表基本结构包括:1. xml声明,如;2. xslt命名空间声明,如xmlns:xsl=”http://www.w3.org/1999/xsl/transform”并指定version;…

    2025年12月17日
    000
  • XLink的locator元素如何指定远程资源?

    xlink的locator元素通过href属性支持所有标准uri类型,包括1. http/https uri(如http://example.com/page.html)、2. ftp uri(如ftp://ftp.example.com/file.zip)、3. file uri(如file://…

    2025年12月17日
    000
  • XSL-FO的external-graphic如何插入图片?

    1.在xsl-fo中嵌入图片的核心是使用fo:external-graphic元素,通过src属性指定图片的uri路径,例如src=”url(‘my_image.png’)”;2.图片路径可以使用相对路径、绝对路径或url路径,其中相对路径最为常用,但…

    2025年12月17日
    000
  • RSS怎样处理失效链接?

    处理rss失效链接的核心方法是定期监测、快速识别和灵活处理。首先,使用脚本或工具扫描链接并检查http状态码,识别出404、410等失效链接;其次,根据情况选择移除链接、更新为新地址或添加说明文字;最后,通过设置永久链接和301重定向、定期内容审计、强化生成逻辑、建立用户反馈机制等预防措施减少失效风…

    2025年12月17日
    000
  • RSS如何实现自动归档?

    要实现rss自动归档,核心在于利用结构化数据和自动化工具周期性抓取并存储内容。具体步骤包括:①选择合适的工具或自建脚本方案;②解析rss数据(xml或json格式)提取关键信息;③制定存储策略如markdown、数据库或云服务;④通过定时任务实现全流程自动化。挑战包括内容不完整、反爬机制、存储效率及…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信