新聞中心
在Linux系統(tǒng)中,環(huán)境變量是非常常見的一種配置方式。在編寫腳本或者啟動程序時,我們經(jīng)常需要設(shè)置環(huán)境變量來控制程序的行為。然而,由于環(huán)境變量的設(shè)計特性,它們有可能會被其他程序或者腳本覆蓋,導(dǎo)致程序無法正常運行。本文將介紹Linux系統(tǒng)中環(huán)境變量的覆蓋問題及解決方法。

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)與策劃設(shè)計,陽新網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:陽新等地區(qū)。陽新做網(wǎng)站價格咨詢:028-86922220
1. 環(huán)境變量的查找順序
在Linux系統(tǒng)中,環(huán)境變量的查找順序是相對固定的。一般來說,程序所使用的環(huán)境變量會按照以下順序進行查找:
1) 命令行參數(shù)中的變量
2) 環(huán)境變量文件中的變量
3) Shell的環(huán)境變量
4) Shell啟動時默認的環(huán)境變量
如果環(huán)境變量在前面的位置被找到了,后面的位置就不會再進行查找了。這也就是說,如果前面的程序已經(jīng)設(shè)置了某個環(huán)境變量,那么后面的程序就不能再覆蓋它了。
2. 環(huán)境變量被覆蓋的情況
在Linux系統(tǒng)中,環(huán)境變量被覆蓋的情況有很多。下面我們將介紹幾種常見的情況。
1) 使用source命令
在Linux系統(tǒng)中,source命令用于加載指定的腳本文件,并將其解釋為當前shell會話的一部分。如果腳本文件中存在環(huán)境變量的設(shè)置,那么這些環(huán)境變量就會被當前shell會話覆蓋。
2) 使用export命令
在Linux系統(tǒng)中,export命令用于將Shell的環(huán)境變量導(dǎo)出到當前進程中。如果另外一個Shell進程執(zhí)行了同樣的命令,它就會覆蓋當前進程的環(huán)境變量。
3) 同名環(huán)境變量的覆蓋
如果兩個程序或腳本都設(shè)置了同名的環(huán)境變量,那么后面的程序或腳本就會覆蓋前面的程序或腳本設(shè)置的環(huán)境變量。這種情況下,我們可以通過修改腳本或程序的代碼,避免出現(xiàn)同名的環(huán)境變量。
3. 解決方法
為了解決Linux系統(tǒng)中環(huán)境變量的覆蓋問題,我們需要以下幾種方法:
1) 使用別名
在Linux系統(tǒng)中,我們可以使用別名的方式來避免同名的環(huán)境變量被覆蓋。我們可以給每個環(huán)境變量都加上一個唯一標識符,這樣就能避免出現(xiàn)同名的環(huán)境變量。例如,我們可以將JAVA_HOME改成X_JAVA_HOME,這樣就能避免被覆蓋了。
2) 使用export命令
如果我們想要在不同的Shell進程之間共享環(huán)境變量,我們可以使用export命令。在設(shè)置環(huán)境變量時,我們可以將其設(shè)置為全局變量,這就能避免被其他程序或腳本所覆蓋。
3) 將環(huán)境變量寫入腳本文件
在Linux系統(tǒng)中,我們可以將環(huán)境變量的設(shè)置寫入腳本文件中。這樣,每次執(zhí)行腳本時,都會先將腳本中的環(huán)境變量設(shè)置生效。這種方法能夠避免其他程序或腳本的環(huán)境變量對我們的腳本產(chǎn)生影響。
在Linux系統(tǒng)中,環(huán)境變量的設(shè)置和使用非常廣泛。但是,由于環(huán)境變量的設(shè)計特性,它們有可能會被其他程序或者腳本覆蓋,導(dǎo)致程序無法正常運行。本文介紹了Linux系統(tǒng)中環(huán)境變量的查找順序以及常見的環(huán)境變量覆蓋問題的解決方法。希望本文能夠幫助讀者更好地掌握Linux環(huán)境變量的使用。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!
linux jdk環(huán)境變量要配置嗎
linux
jdk環(huán)境變量要配置
linux下配置JDK環(huán)境變量
用文本編輯器打開/etc/profile,命令vi
/etc/profile
在profile文件末尾加入:
export
JAVA_HOME=/usr/share/jdk1.6.0_14
export
PATH=$JAVA_HOME/bin:$PATH
export
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
重新登錄
說明:老戚
a.
你要將
/usr/share/jdk1.6.0_14改為你的jdk安裝目錄
b.
linux下用冒號“:”來分隔路徑
c.
$PATH
/
$CLASSPATH
/
$JAVA_HOME
是用來引用原來的環(huán)境變量的值
在設(shè)置環(huán)境變量時特別要注意不能把原來的值給覆蓋掉戚卜了,這是一種常見的錯誤。
d.
CLASSPATH中當前目錄“.”不能丟,把當前目錄丟掉也是常見的錯誤。
e.
export是把這三個變量導(dǎo)出為全局變量。
f.
大小寫必須嚴格區(qū)分。
保存高含穗:在當前情況下依次按Esc,然后輸入:wq
linux系統(tǒng)下設(shè)置環(huán)境變量
你要在什么范爛迅圍內(nèi)設(shè)置環(huán)境變量?
>系統(tǒng)全局?
用戶全局?
>當前終端?
你用的什么Shell?
====================================
請修改你的用戶主目錄下的“.bash_profile”。
可在適當緩卜位置添加“擾歷穗pwd”命令,以顯示當前目錄。
在shell里面輸入env,可以查看環(huán)境變量。想設(shè)置某個察信臨時文件變量,在shell里面輸入export
xxx=xxxx就行。想永久地設(shè)置的話,可以改/etc/bashrc,這個是系悔談統(tǒng)變量,也是在文件里加上碧沒碰export
環(huán)境變量被覆蓋后重新配置Tensorflow-gpu
安裝檔迅CTEX時自動把系統(tǒng)環(huán)境變量覆蓋了。之后import tensorflow 會報錯:
ImportError: Could not find ‘cudart64_90.dll’. TensorFlowrequires that this DLL be installed in a directory that is named in your %PATH%environment variable.
重啟電腦讓環(huán)境變量生效,確保cudart64_90.dll在C:\Program Files\NVIDIA GPU Computing Toolkit\行絕此CUDA\v9.0\bin中,宏銷隨后即可正常使用。
以下是踩坑過程
1.首先按照百度配置path
之后檢查’cudart64_90.dll的確在路徑中,并且tensorflow-gpu,CUDA,cudnn版本匹配。
無效。
2.隨后將cudart64_90.dll拖入拖出路徑。
無效。
3.重裝tensorflow-gpu,CUDA,cudnn。
無效。
按照頂部結(jié)論方法,有效。
關(guān)于linux系統(tǒng)環(huán)境變量覆蓋的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)-老牌IDC、云計算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計算服務(wù)、IT信息化、AI算力租賃平臺(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220
當前題目:Linux系統(tǒng)中環(huán)境變量覆蓋問題及解決方法(linux系統(tǒng)環(huán)境變量覆蓋)
標題鏈接:http://www.dlmjj.cn/article/dpjoddp.html


咨詢
建站咨詢
