欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux中如何修改~/.bashrc或/etc/profile設(shè)置環(huán)境變量

 更新時(shí)間:2023年05月04日 17:04:30   作者:虹科FPGA  
這篇文章主要介紹了Linux中如何修改~/.bashrc或/etc/profile設(shè)置環(huán)境變量問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

簡(jiǎn)介

在虛擬機(jī)Linux系統(tǒng)上裝一些軟件經(jīng)常會(huì)碰到需要自己設(shè)置環(huán)境變量的情況,Windows上裝過Anaconda的小伙伴都知道環(huán)境變量是個(gè)很重要又很神奇的東西(感覺anaconda就是一個(gè)python專用虛擬機(jī)),但是相比于Linux而言Windows上設(shè)置環(huán)境變量已經(jīng)方便多了。

本文主要結(jié)合我在CentOS7 Linux系統(tǒng)上安裝VCS(這個(gè)后續(xù)有空再次安裝會(huì)截圖并出一篇文章)以及VARON的經(jīng)歷總結(jié)Linux上環(huán)境變量的設(shè)置問題,一文教你認(rèn)識(shí)環(huán)境變量。

什么是環(huán)境變量

安裝VCS過程中,CSDN上原創(chuàng)或者轉(zhuǎn)載的博主動(dòng)不動(dòng)就會(huì)說修改.bashrc設(shè)置環(huán)境變量,有些懶一點(diǎn)的博主甚至直接說在這里我們需要設(shè)置環(huán)境變量balabala,當(dāng)時(shí)不知道,直接在安裝包所在的目錄下修改的.bashrc文件,安裝成功是成功了,在那個(gè)目錄下的terminal終端source以后也是可以打開verdi等等VCS套件,但是外部軟件調(diào)用VCS永遠(yuǎn)不成功。最后還是歸結(jié)到環(huán)境變量問題上來了。

所以這里先要說明環(huán)境變量這個(gè)東西,換一種說法,你想在任何路徑下調(diào)用某路徑下的文件,但是總不能每次都要輸一大堆路徑名,這個(gè)時(shí)候就要用到環(huán)境變量,在相關(guān)文件下(下面細(xì)說)設(shè)置好PATH,也就是環(huán)境變量后,就可以不管在哪兒或者哪個(gè)外部應(yīng)用中直接用名稱調(diào)用(一般合規(guī)的名字是不存在沖突的,當(dāng)然也有同一個(gè)軟件安裝了不同版本的情況會(huì)有沖突不過一般會(huì)打開默認(rèn)的那個(gè))。

怎么設(shè)置環(huán)境變量

這里主要講PATH這種最常見的環(huán)境變量的設(shè)置,還有LD_LIBERARY_PATH,不過這些清楚他的意思之后就都是差不多的了。

這個(gè)PATH和Windows上的PATH是一個(gè)東西,你想直接一句verdi打開而不用輸路徑就在PATH里面加上verdi的路徑。

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

$有點(diǎn)像指針,除了一些專有名稱外自己可以定義一些通用路徑名比如VCS_HOME,VERDI_HOME這種,主要都是方便在其他路徑里面直接調(diào)用了,加上$就表示調(diào)用該路徑了,直接=是重新定義該路徑了,所以PATH定義的時(shí)候一定要加上原有的路徑$PATH,路徑之間用冒號(hào)連接。

所以再看這個(gè)就明白多了,alias也類似define一樣的東西,我在CentOS上是加不加引號(hào)單引號(hào)雙引號(hào)都無所謂,最后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"

這里順帶說一下,一般這種需要自己手動(dòng)激活的license是需要掛著的,當(dāng)然也有懶人辦法直接修改/etc/rc.d/rc.local文件,在里面加上LD_LIBERARY_PATH的方法,我不懂,老老實(shí)實(shí)自己手動(dòng)激活挺好。

.bashrc

bash就是shell的那個(gè)bash,CSDN上很多了,隨便學(xué),rc就是run command運(yùn)行指令,字面意思。

還有個(gè).brashrc這個(gè)文件我不太懂和這個(gè).bashrc的區(qū)別,嘗試了一下在.brashrc里面更改PATH并source以后PATH并沒有改變,這個(gè)網(wǎng)上也沒有說這兩者區(qū)別。

這里直接一個(gè)圖帶你看懂子目錄下的.bashrc文件

如上圖,這個(gè)路徑下打開shell以后本來是沒有vcs等路徑的,但是source .bashrc以后再查看$PATH就會(huì)顯示有vcs的路徑,這時(shí)候就可以直接輸需要輸?shù)腣CS命令,但是只限于左邊這個(gè)終端窗口,右邊是不行的。

子目錄下的.bashrc文件不會(huì)預(yù)載,不會(huì)公用,只針對(duì)當(dāng)前用戶的當(dāng)前終端窗口,每次調(diào)用相當(dāng)于還得自己source一下這個(gè)路徑下的.bashrc文件才行。有點(diǎn)類似臨時(shí)環(huán)境變量。

所以一般要求設(shè)置環(huán)境變量的話通用的還是更改~/.bashrc或者/etc/profile

下面闡述一下這兩者的區(qū)別:

  • ~/是進(jìn)入當(dāng)前用戶的主目錄。即/home/<user_name>路徑
  • .bashrc 是進(jìn)入.bashrc文件夾,就是用戶目錄下的名字是.bashrc的目錄。

bashrc與profile的區(qū)別

要搞清bashrc與profile的區(qū)別,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。

交互式模式就是shell等待你的輸入,并且執(zhí)行你提交的命令。這種模式被稱作交互式是因?yàn)閟hell與用戶進(jìn)行交互。

  • 這種模式也是大多數(shù)用戶非常熟悉的:登錄、執(zhí)行一些命令、簽退。當(dāng)你簽退后,shell也終止了。
  • shell也可以運(yùn)行在另外一種模式:非交互式模式。在這種模式下,shell不與你進(jìn)行交互,而是讀取存放在文件中的命令,并且執(zhí)行它們。當(dāng)它讀到文件的結(jié)尾,shell也就終止了。

bashrc與profile都用于保存用戶的環(huán)境信息,bashrc用于交互式non-login shell,而profile用于交互式login shell。

系統(tǒng)中存在許多bashrc和profile文件,下面主要區(qū)分兩種(一般環(huán)境變量的設(shè)定也只會(huì)用到這兩種):

  • /etc/profile此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)?shù)谝粋€(gè)用戶登錄時(shí),該文件被執(zhí)行。并從/etc/profile.d 這一配置文件中搜集shell的設(shè)置。
  • ~/.bashrc:該文件包含專用于某個(gè)用戶的bash shell的bash信息,當(dāng)該用戶登錄時(shí)以及每次打開新的shell時(shí),該文件被讀取。

另外,/etc/profile中設(shè)定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關(guān)系。

總結(jié)

目前我主要只用到這兩種設(shè)置環(huán)境變量的方式  /etc/profile 和 ~/.bashrc,并且已經(jīng)可以解決大部分軟件的環(huán)境變量問題, /etc/profile只在用戶登錄時(shí)執(zhí)行一次,每次修改后需要重新source,修改后打開新窗口最好還是看一下路徑有沒有添加上去;~/.bashrc在用戶每次登錄以及打開終端窗口時(shí)都會(huì)執(zhí)行。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • centos中NAT模式下靜態(tài)IP連接外網(wǎng)

    centos中NAT模式下靜態(tài)IP連接外網(wǎng)

    這篇文章主要介紹了centos中NAT模式下靜態(tài)IP連接外網(wǎng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • linux服務(wù)監(jiān)控及運(yùn)維

    linux服務(wù)監(jiān)控及運(yùn)維

    本文通過詳細(xì)介紹安裝psutil包到查找操作系統(tǒng)所有服務(wù)進(jìn)行ID,提取監(jiān)控等內(nèi)容,接下來我們大家一起來學(xué)習(xí)吧
    2021-08-08
  • Linux更改賬戶密碼實(shí)例詳解

    Linux更改賬戶密碼實(shí)例詳解

    在本篇文章中我們給大家分享了關(guān)于Linux更改賬戶密碼實(shí)例內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-02-02
  • ubuntu中snap包的安裝、更新刪除與簡(jiǎn)單使用

    ubuntu中snap包的安裝、更新刪除與簡(jiǎn)單使用

    Ubuntu 16.04引入了snap包管理,它是一種全新的軟件包安裝管理方式。它和dpkg/apt有本質(zhì)的區(qū)別。下面這篇文章就來給大家詳細(xì)介紹了關(guān)于ubuntu中snap包的安裝、更新刪除與簡(jiǎn)單使用的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • linux中rm命令使用詳解

    linux中rm命令使用詳解

    這篇文章主要詳細(xì)介紹了linux中rm命令使用方法以及使用實(shí)例分享,十分全面,這里推薦給需要的小伙伴。
    2015-01-01
  • 探究一個(gè)LED如何入門Linux內(nèi)核

    探究一個(gè)LED如何入門Linux內(nèi)核

    內(nèi)核那么大,從哪看?。磕芸炊畣??其實(shí)這種場(chǎng)景在腦海里不止一次地發(fā)生過了,興趣和困難進(jìn)行猛烈地撞擊,意志力稍強(qiáng),會(huì)有所突破,靜下心來研究,可能會(huì)有所收獲
    2021-08-08
  • linux之硬鏈接和軟鏈接解讀

    linux之硬鏈接和軟鏈接解讀

    這篇文章主要介紹了linux之硬鏈接和軟鏈接的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Linux多線程編程快速入門

    Linux多線程編程快速入門

    這篇文章主要介紹了Linux多線程編程快速入門,涉及到了線程基本知識(shí),線程標(biāo)識(shí),線程創(chuàng)建,線程終止,管理線程的終止等相關(guān)內(nèi)容,小編覺得還是挺不錯(cuò)的,這里分享給大家,需要的朋友可以參考下
    2018-01-01
  • Linux內(nèi)存分析工具介紹,高效診斷和解決問題

    Linux內(nèi)存分析工具介紹,高效診斷和解決問題

    這篇文章主要介紹了Linux內(nèi)存分析工具,高效診斷和解決問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • centos把網(wǎng)卡名稱修改為eth0的方法

    centos把網(wǎng)卡名稱修改為eth0的方法

    本篇文章主要介紹了centos把網(wǎng)卡名稱修改為eth0,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02

最新評(píng)論