嵌入式Linux下永久生效環(huán)境變量bashrc
作者:skdkjxy
原文:http://blog.sina.com.cn/s/blog_8795b0970101f1f9.html
.bashrc文件
在linux系統(tǒng)普通用戶(hù)目錄(cd /home/xxx)或root用戶(hù)目錄(cd /root)下,用指令ls -al可以看到4個(gè)隱藏文件:
.bash_history ?記錄之前輸入的命令
.bash_logout ?當(dāng)你退出時(shí)執(zhí)行的命令
.bash_profile ?當(dāng)你登入shell時(shí)執(zhí)行
.bashrc ? ? ? 當(dāng)你登入shell時(shí)執(zhí)行
請(qǐng)注意后兩個(gè)的區(qū)別:.bash_profile
只在會(huì)話(huà)開(kāi)始時(shí)被讀取一次,而.bashrc
則每次打開(kāi)新的終端時(shí),都要被讀取。
這些文件是每一位用戶(hù)對(duì)終端功能和屬性設(shè)置,修改.bashrc可以改變環(huán)境變量PATH、別名alias和提示符。具體如何修改會(huì)在下面做介紹。
除了可以修改用戶(hù)目錄下的.bashrc文件外,還可以修改如/etc/profile文件、/etc/bashrc文件及目錄/etc /profile.d下的文件。
但是修改/etc路徑下的配置文件將會(huì)應(yīng)用到整個(gè)系統(tǒng),屬于系統(tǒng)級(jí)的配置,而修改用戶(hù)目錄下的.bashrc則只是限制在用戶(hù)應(yīng)用上,屬于用戶(hù)級(jí)設(shè)置。兩者在應(yīng)用范圍上有所區(qū)別,建議如需修改的話(huà),修改用戶(hù)目錄下的.bashrc,即無(wú)需root權(quán)限,也不會(huì)影響其他用戶(hù)。
PATH環(huán)境變量修改
PATH變量決定了shell 將到哪些目錄中尋找命令或程序。如果要執(zhí)行的命令的目錄在 $PATH 中,您就不必輸入這個(gè)命令的完整路徑,直接輸入命令就可以了。
一些第三方軟件沒(méi)有將可執(zhí)行文件放到 Linux 的標(biāo)準(zhǔn)目錄中。因此,將這些非標(biāo)準(zhǔn)的安裝目錄添加到 $PATH 是一種解決的辦法。此外,您也將看到如何處理一般的環(huán)境變量。
首先,作為慣例,所有環(huán)境變量名都是大寫(xiě)。由于 Linux 區(qū)分大小寫(xiě),這點(diǎn)您要留意。當(dāng)然,您可以自己定義一些變量,如'$path'、'$pAtH',但 shell 不會(huì)理睬這些變量。
第二點(diǎn)是變量名有時(shí)候以'$'開(kāi)頭,但有時(shí)又不是。當(dāng)設(shè)置一個(gè)變量時(shí),直接用名稱(chēng),而不需要加“$”,如導(dǎo)出環(huán)境變量:
export?PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/X11R6/bin:/usr/local/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
假如環(huán)境變量值為:
PATH=/usr/bin:/usr/local/bin:/bin
要獲取變量值的話(huà),就要在變量名前加'$':
echo?$PATH
則會(huì)顯示當(dāng)前設(shè)置的PATH變量/usr/bin:/usr/local/bin:/bin
。否則的話(huà),變量名就會(huì)被當(dāng)作普通文本了:echo PATH
顯示PATH
。
處理 $PATH 變量要注意的第三點(diǎn)是:您不能只替換變量,而是要將新的字符串添加到原來(lái)的值中。
在大多數(shù)情況下,您不能用PATH=/some /directory
,因?yàn)檫@將刪除 $PATH 中其他的所有目錄,這樣您在該終端運(yùn)行程序時(shí),就不得不給出完整路徑。
所以,只能作添加:PATH=$PATH:/some/directory
,假如你要添加/usr/local/arm/3.4.1/bin
交叉編譯命令,則操作為PATH=$PATH:/usr/local/arm/3.4.1/bin
這樣,PATH 被設(shè)成當(dāng)前的值(以 $PATH 來(lái)表示)+新添的目錄。
到目前為止,你只為當(dāng)前終端設(shè)置了新的 $PATH 變量。如果您打開(kāi)一個(gè)新的終端,運(yùn)行 echo $PATH ,將顯示舊的 $PATH 值,而看不到你剛才添加的新目錄。因?yàn)槟阆惹岸x的是一個(gè)局部環(huán)境變量(僅限于當(dāng)前的終端)。
要定義一個(gè)全局變量,使在以后打開(kāi)的終端中生效,您需要將局部變量輸出(export),可以用"export"命令:
export?PATH=$PATH:/some/directory
現(xiàn)在如果打開(kāi)一個(gè)新的終端,輸入 echo $PATH ,也能看到新設(shè)置的$PATH 了。請(qǐng)注意,命令export只能改變當(dāng)前終端及以后運(yùn)行的終端里的變量,對(duì)于已經(jīng)運(yùn)行的終端沒(méi)有作用
。
為了將目錄永久添加到 $PATH ,只要將"export"的那行添加到.bashrc或/etc/bashrc文件中。
免責(zé)聲明:本文來(lái)源網(wǎng)絡(luò),免費(fèi)傳達(dá)知識(shí),版權(quán)歸原作者所有。如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系我進(jìn)行刪除。
5、最后
以上就是本次的分享,如果覺(jué)得文章不錯(cuò),轉(zhuǎn)發(fā)、在看,也是我們繼續(xù)更新的動(dòng)力。
猜你喜歡:
2020年精選原創(chuàng)筆記匯總
1024G 嵌入式資源大放送!包括但不限于C/C++、單片機(jī)、Linux等。在公眾號(hào)聊天界面回復(fù)1024,即可免費(fèi)獲??!
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!