網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
一、什么是環(huán)境變量?
簡(jiǎn)單說(shuō),就是指定一個(gè)目錄,運(yùn)行軟件的時(shí)候,相關(guān)的程序?qū)?huì)按照該目錄尋找相關(guān)文件。 設(shè)置變量對(duì)于一般人最實(shí)用的功能就是: 不用拷貝某些dll文件到系統(tǒng)目錄中了,而path 這一系統(tǒng)變量就是系統(tǒng)搜索dll文件的一系列路徑
在Linux系統(tǒng)下,如果你下載并安裝應(yīng)用程序,很有可能在鍵入它的名稱的時(shí)候出現(xiàn) “command not found ” 的提示內(nèi)容。 如果每次都到安裝目錄文件夾內(nèi),找到可執(zhí)行文件來(lái)進(jìn)行操作就太繁瑣了。 這涉及到環(huán)境變量path的設(shè)置問(wèn)題,而Path 的設(shè)置也是在Linux下定制環(huán)境變量的一個(gè)組成部分
二、四種方法:
方法一:用戶主目錄下的.profile或.bashrc文件(推薦)
登錄到你的用戶(非root),在終端輸入:
sudo gedit ~/.profile(or .bashrc)
可以在此文件末尾加入PATH的設(shè)置如下:
export PATH="$PATH:/NEW_PATH"
保存文件,注銷再登錄,變量生效。
該方式添加的變量只對(duì)當(dāng)前用戶有效。
方法二:系統(tǒng)目錄下的profile文件(謹(jǐn)慎)
在系統(tǒng)的etc目錄下,有一個(gè)profile文件,編輯該文件:
sudo gedit /etc/profile
在最后加入PATH的設(shè)置如下:
export PATH=”$PATH:your path1:your path2 ...”
該文件編輯保存后,重啟系統(tǒng),變量生效。
該方式添加的變量對(duì)所有的用戶都有效。
方法三:系統(tǒng)目錄下的 environment 文件(謹(jǐn)慎)
在系統(tǒng)的etc目錄下,有一個(gè)environment文件,編輯該文件:
sudo gedit /etc/environment
找到以下的 PATH 變量:
PATH="<......>"
修改該 PATH 變量,在其中加入自己的path即可,例如:
PATH="<......>:your path1:your path2 …"
各個(gè)path之間用冒號(hào)分割。該文件也是重啟生效,影響所有用戶。
注意這里不是添加export PATH=… 。
方法四:直接在終端下輸入
sudo export PATH="$PATH:your path1:your path2 …"
這種方式變量立即生效,但用戶注銷或系統(tǒng)重啟后設(shè)置變成無(wú)效,適合臨時(shí)變量的設(shè)置。
三、Ubuntu Linux系統(tǒng)環(huán)境變量配置文件:
/etc/profile : 在登錄時(shí),操作系統(tǒng)定制用戶環(huán)境時(shí)使用的第一個(gè)文件 ,此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時(shí),該文件被執(zhí)行。
/etc /environment : 在登錄時(shí)操作系統(tǒng)使用的第二個(gè)文件, 系統(tǒng)在讀取你自己的profile前,設(shè)置環(huán)境文件的環(huán)境變量。
~/.profile : 在登錄時(shí)用到的第三個(gè)文件 是.profile文件,每個(gè)用戶都可使用該文件輸入專用于自己使用的shell信息,當(dāng)用戶登錄時(shí),該文件僅僅執(zhí)行一次!默認(rèn)情況下,他設(shè)置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件。
/etc/bashrc : 為每一個(gè)運(yùn)行bash shell的用戶執(zhí)行此文件.當(dāng)bash shell被打開時(shí),該文件被讀取.
~/.bashrc : 該文件包含專用于你的bash shell的bash信息,當(dāng)?shù)卿洉r(shí)以及每次打開新的shell時(shí),該該文件被讀取。
四、注意事項(xiàng)
-
方法二和三的修改需要謹(jǐn)慎,尤其是通過(guò)root用戶修改,如果修改錯(cuò)誤,將可能導(dǎo)致一些嚴(yán)重的系統(tǒng)錯(cuò)誤。因此筆者推薦使用第一種方法。另外嵌入式 Linux的開發(fā)最好不要在root下進(jìn)行(除非你對(duì)Linux已經(jīng)非常熟悉了!!),以免因?yàn)椴僮鞑划?dāng)導(dǎo)致系統(tǒng)嚴(yán)重錯(cuò)誤。
-
下面是一個(gè)對(duì)environment文件錯(cuò)誤修改導(dǎo)致的問(wèn)題以及解決方法示例:
問(wèn)題: 因?yàn)椴恍⌒脑?etc/environment里設(shè)在環(huán)境變量導(dǎo)致無(wú)法登錄
提示: 不要在 etc/environment里設(shè)置 export PATH這樣會(huì)導(dǎo)致重啟后登錄不了系統(tǒng)
解決方法:
在登錄界面 alt +ctrl+f1進(jìn)入命令模式,如果不是root用戶需要鍵入(root用戶就不許這么羅嗦,gedit編輯會(huì)不可顯示)
/usr/bin/sudo /usr/bin/vi /etc/environment
光標(biāo)移到export PATH** 行,連續(xù)按 d兩次刪除該行;
輸入:wq保存退出;
然后鍵入/sbin/reboot重啟系統(tǒng)(可能會(huì)提示need to boot,此時(shí)直接power off)
原文鏈接:https://blog.csdn.net/weixin_39589455/article/details/114482133
- 上一篇:沒有了
- 下一篇:沒有了
相關(guān)推薦
- 2023-01-28 C#繪圖基本方法實(shí)例總結(jié)_C#教程
- 2022-11-22 react?hooks實(shí)現(xiàn)原理解析_React
- 2023-05-24 VS中scanf為何會(huì)報(bào)錯(cuò)詳解_C 語(yǔ)言
- 2022-05-13 ByteTrack的卡爾曼濾波使用什么樣的邊框坐標(biāo)信息
- 2024-04-03 @ExceptionHandler沒有報(bào)錯(cuò)詳細(xì)信息
- 2023-12-21 npm install 報(bào)錯(cuò)(npm ERR! errno: -4048, npm ERR! c
- 2022-06-02 Apache?Pulsar結(jié)合Hudi構(gòu)建Lakehouse方案分析_服務(wù)器其它
- 2023-02-10 解決Jupyter?Notebook?“signal?only?works?in?main?thre
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支