網站首頁 編程語言 正文
一、什么是環境變量?
簡單說,就是指定一個目錄,運行軟件的時候,相關的程序將會按照該目錄尋找相關文件。 設置變量對于一般人最實用的功能就是: 不用拷貝某些dll文件到系統目錄中了,而path 這一系統變量就是系統搜索dll文件的一系列路徑
在Linux系統下,如果你下載并安裝應用程序,很有可能在鍵入它的名稱的時候出現 “command not found ” 的提示內容。 如果每次都到安裝目錄文件夾內,找到可執行文件來進行操作就太繁瑣了。 這涉及到環境變量path的設置問題,而Path 的設置也是在Linux下定制環境變量的一個組成部分
二、四種方法:
方法一:用戶主目錄下的.profile或.bashrc文件(推薦)
登錄到你的用戶(非root),在終端輸入:
sudo gedit ~/.profile(or .bashrc)
可以在此文件末尾加入PATH的設置如下:
export PATH="$PATH:/NEW_PATH"
保存文件,注銷再登錄,變量生效。
該方式添加的變量只對當前用戶有效。
方法二:系統目錄下的profile文件(謹慎)
在系統的etc目錄下,有一個profile文件,編輯該文件:
sudo gedit /etc/profile
在最后加入PATH的設置如下:
export PATH=”$PATH:your path1:your path2 ...”
該文件編輯保存后,重啟系統,變量生效。
該方式添加的變量對所有的用戶都有效。
方法三:系統目錄下的 environment 文件(謹慎)
在系統的etc目錄下,有一個environment文件,編輯該文件:
sudo gedit /etc/environment
找到以下的 PATH 變量:
PATH="<......>"
修改該 PATH 變量,在其中加入自己的path即可,例如:
PATH="<......>:your path1:your path2 …"
各個path之間用冒號分割。該文件也是重啟生效,影響所有用戶。
注意這里不是添加export PATH=… 。
方法四:直接在終端下輸入
sudo export PATH="$PATH:your path1:your path2 …"
這種方式變量立即生效,但用戶注銷或系統重啟后設置變成無效,適合臨時變量的設置。
三、Ubuntu Linux系統環境變量配置文件:
/etc/profile : 在登錄時,操作系統定制用戶環境時使用的第一個文件 ,此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行。
/etc /environment : 在登錄時操作系統使用的第二個文件, 系統在讀取你自己的profile前,設置環境文件的環境變量。
~/.profile : 在登錄時用到的第三個文件 是.profile文件,每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件。
/etc/bashrc : 為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.
~/.bashrc : 該文件包含專用于你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。
四、注意事項
-
方法二和三的修改需要謹慎,尤其是通過root用戶修改,如果修改錯誤,將可能導致一些嚴重的系統錯誤。因此筆者推薦使用第一種方法。另外嵌入式 Linux的開發最好不要在root下進行(除非你對Linux已經非常熟悉了!!),以免因為操作不當導致系統嚴重錯誤。
-
下面是一個對environment文件錯誤修改導致的問題以及解決方法示例:
問題: 因為不小心在 etc/environment里設在環境變量導致無法登錄
提示: 不要在 etc/environment里設置 export PATH這樣會導致重啟后登錄不了系統
解決方法:
在登錄界面 alt +ctrl+f1進入命令模式,如果不是root用戶需要鍵入(root用戶就不許這么羅嗦,gedit編輯會不可顯示)
/usr/bin/sudo /usr/bin/vi /etc/environment
光標移到export PATH** 行,連續按 d兩次刪除該行;
輸入:wq保存退出;
然后鍵入/sbin/reboot重啟系統(可能會提示need to boot,此時直接power off)
原文鏈接:https://blog.csdn.net/weixin_39589455/article/details/114482133
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-10-26 C#實現文件與字符串互轉的方法詳解_C#教程
- 2022-05-08 python列表的構造方法list()_python
- 2023-07-24 前端借助Canvas實現壓縮base64圖片兩種方法
- 2022-08-26 利用Python實現自動化監控文件夾完成服務部署_python
- 2022-10-26 Jenkins+Docker?一鍵自動化部署?SpringBoot?項目的詳細步驟_docker
- 2022-04-03 Android實現recyclerview城市字母索引列表_Android
- 2022-11-28 深入了解C++函數重載解析策略_C 語言
- 2022-04-10 MyBatis 查詢的時候屬性名和字段名不一致的問題
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支